Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden von Nullen in einer vorbereiteten mysqli-Anweisung

Es ist möglich, einen echten NULL-Wert an die vorbereiteten Anweisungen zu binden (lesen Sie dies ).

Tatsächlich können Sie mysqli_bind_parameter verwenden, um einen NULL-Wert an die Datenbank zu übergeben. Erstellen Sie einfach eine Variable und speichern Sie den NULL-Wert (siehe dazu die Manpage) in der Variablen und binden Sie diesen. Funktioniert jedenfalls super für mich.

Also muss es so aussehen:

<?php
    $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

    // person is some object you have defined earlier
    $name = $person->name();
    $age = $person->age();
    $nickname = ($person->nickname() != '') ? $person->nickname() : NULL;

    // prepare the statement
    $stmt = $mysqli->prepare("INSERT INTO Name, Age, Nickname VALUES (?, ?, ?)");

    $stmt->bind_param('sis', $name, $age, $nickname);
?>

Dies sollte einen NULL-Wert in die Datenbank einfügen.