14

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 ''?

Dharman
  • 30,962
  • 25
  • 85
  • 135
JackSun
  • 1,418
  • 3
  • 15
  • 19

2 Answers2

31

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.

Ken Herbert
  • 5,205
  • 5
  • 28
  • 37
-2

Set your Variable as null and pass it,

$var1 = null;
Rakesh KR
  • 6,357
  • 5
  • 40
  • 55