Het is mogelijk om een echte NULL-waarde aan de voorbereide statements te binden (lees dit ).
U kunt in feite mysqli_bind_parameter gebruiken om een NULL-waarde door te geven aan de database. maak eenvoudig een variabele aan en sla de NULL-waarde op (zie de manpagina ervoor) aan de variabele en bind die. Werkt hoe dan ook prima voor mij.
Het moet dus zoiets zijn als:
<?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);
?>
Dit zou een NULL-waarde in de database moeten invoegen.