1

SQLクエリで「NULL」または「文字列」を渡すにはどうすればよいですか。

たとえば(都市はオプションであり、NULLはmysqlで使用できます)

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

NULLと'NULL'(文字列として)は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 に答える