如何在sql查询中传递“NULL”或“String”。
例如(city是可选的,NULL可以在mysql中使用)
<?php
$var = !empty($_POST['city']) ? $_POST['city'] : NULL;
$query = mysql_query("INSERT INTO table VALUES('".$_POST['firstname']."','".$var."')");
?>
这不起作用,因为NULL和'NULL'(作为String)对于mysql来说是不一样的。
答案 0 :(得分: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)