sql server插入语句中PHP值为空


PHP value null into sql server insert statement

我想在sql server表中插入值NULL

$value = $_POST['value'];
then PDO with (INSERT .... :value.....)

execute(array(':value' => "$value"));但是当html输入字段是空的,我得到了sql空字段,但我想看到NULL我试过

if ($_POST['value'] ==''){$value = NULL;}else{....}

但是什么也没发生。

我的sql表看起来像:

[field] [varchar](20)  NULL,

对于一般准备好的语句中的NULL值:任何实际绑定到语句中的NULL值,总是作为NULL发送给数据库。没有例外。

的例子:

$stmt = $db->prepare("SELECT isnull(?)");
$stmt->execute(array(NULL));
var_dump($stmt->fetchColumn());
// string(1) "1"

关于您的特定代码,正如在注释中指出的那样,您的问题是由错误的语法引起的。在PHP中,变量必须以不带引号的命名。引号在PHP中用来分隔字符串。而变量,同样,必须不加引号。