Mysql
 sql >> Base de données >  >> RDS >> Mysql

utiliser des valeurs nulles dans une instruction préparée mysqli

Il est possible de lier une vraie valeur NULL aux instructions préparées (lire ceci ).

Vous pouvez, en fait, utiliser mysqli_bind_parameter pour passer une valeur NULL à la base de données. créez simplement une variable et stockez la valeur NULL (voir la page de manuel pour cela) à la variable et liez-la. Ça marche très bien pour moi en tout cas.

Ainsi, il devra être quelque chose comme :

<?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);
?>

Cela devrait insérer une valeur NULL dans la base de données.