在php中的mysql insert-query字符串中为NULL或'string'

时间:2012-07-07 15:50:06

标签: php mysql null

如何在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来说是不一样的。

1 个答案:

答案 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)