I am trying to bind params to a INSERT INTO MySQLi prepared statement if that variable exists, otherwise insert null.
This is what I have, but it is not working:
if (!empty($name)) {
$result->bind_param('ss', $name, $url_friendly_name);
} else {
$result->bind_param('ss', null, null);
}
if (!empty($description)) {
$result->bind_param('s', $description);
} else {
$result->bind_param('s', null);
}
Does anyone know of a better way of doing this or is there just a minor issue with my code. I am doing the above for each variable in the prepared statement.
bind_param
works by reference. That means that it takes a variable, then uses the value of that variable in execute
.
null
is not a variable.
Try setting a variable to null
and then binding that variable instead.
(Also consider using PDO instead of mysqli, where the execute
method can take a simple array and you can bypass wacky binding methodology of mysqli.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With