What is the type of NULL in mysqli bind_param?

JackSun picture JackSun · Jan 7, 2014 · Viewed 13.6k times · Source

I am trying to bind params to a INSERT INTO MySQLi prepared statement if that variable exists, otherwise insert null.Then i know

type    variable
i   corresponding variable has type integer
d   corresponding variable has type double
s   corresponding variable has type string
b   corresponding variable is a blob and will be sent in packets

but when i insert a variable = null,how i define the type of the variable? Or should i define the type is ''?

Answer

Ken Herbert picture Ken Herbert · Jan 7, 2014

You do not need to cast null to a particular data type - Mysqli will handle null values passed to any of the accepted data types, so just use the type each field would have had if you were passing non-null values.

$intVar = null;
$doubleVar = null;
$stringVar = null;
$blobVar = null;

$insert_data->bind_param('idsb', $intVar, $doubleVar, $stringVar, $blobVar);

All of these are valid and will be accepted by Mysqli.