1

如何在 sql 查询中传递“NULL”或“String”。

例如(城市是可选的,在mysql中可以使用NULL)

<?php
$var = !empty($_POST['city']) ? $_POST['city'] : NULL;
$query = mysql_query("INSERT INTO table VALUES('".$_POST['firstname']."','".$var."')");
?>

这不起作用,因为 NULL 和 'NULL'(as String) 对于 mysql 是不一样的。

4

1 回答 1

4

不要在查询中用引号将 NULL 括起来:

$var = !empty($_POST['city']) ? ( "'" . $_POST['city'] . "'") : 'NULL';
$query = mysql_query("INSERT INTO table VALUES('".$_POST['firstname']."',".$var.")");

现在,当$_POST['city']未指定时,您的查询将如下所示:

INSERT INTO table VALUES('nickb',NULL)
于 2012-07-07T15:51:23.573 回答