Det är möjligt att binda ett sant NULL-värde till de förberedda satserna (läs detta ).
Du kan faktiskt använda mysqli_bind_parameter för att skicka ett NULL-värde till databasen. skapa helt enkelt en variabel och lagra NULL-värdet (se manualen för det) till variabeln och bind den. Fungerar utmärkt för mig i alla fall.
Därför måste det vara något i stil med:
<?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);
?>
Detta bör infoga ett NULL-värde i databasen.