mysqli bind_param 中 NULL 的类型是什么?

14

我正在尝试将参数绑定到一个MySQLi预处理语句的INSERT INTO中,如果该变量存在,则插入null。然后我知道

类型    变量
i       相应的变量为整数类型
d       相应的变量为双精度类型
s       相应的变量为字符串类型
b       相应的变量为Blob和将被分段发送

但当我插入一个变量=null时,我怎样定义变量的类型呢?或者我应该定义类型为''吗?


只需将变量设置为 null 并使用字符串即可。 - Ohgodwhy
将您的变量设置为 null(例如 $var = null;)。 - Mohammad Tomaraei
可能是https://dev59.com/kVTTa4cB1Zd3GeqPpBey的重复问题。 - Mohammad Tomaraei
2个回答

32

您不需要将null转换为特定的数据类型 - Mysqli会处理传递给任何可接受数据类型的null值,因此只需使用每个字段在传递非null值时所具有的类型即可。

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

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

所有这些方式都是有效的,并且将被Mysqli接受。


-2

将您的变量设置为null并传递它,

$var1 = null;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接