在我的页面上,我有几个文本框,其中两个,名字和姓氏,不是必需的。如果在这些字段中的一个或两个中都没有输入任何内容,我需要将NULL作为任何内容而不是NULL作为字符串值插入。目前它正在输入它们作为字符串值。我需要做什么才能插入NULL值而不是字符串?
PHP代码
<?php
// SQL connection and other variables...
if (!empty($_POST['firstname'])) {
$firstname = $_POST['firstname'];
} else {
$firstname = 'NULL';
}
if (!empty($_POST['lastname'])) {
$lastname = $_POST['lastname'];
} else {
$lastname = 'NULL';
}
$sp = "exec sp_test_proc '$street1', '$street2', '$firstname', '$lastname'";
$res = odbc_exec($conn, $sp);
?>
如果我传入NULL而不是任何参数的变量,它可以正常工作。不确定使用变量导致问题的原因。
答案 0 :(得分:2)
撰写NULL
代替'NULL'
您使用引号将其设为字符串。
答案 1 :(得分:1)
您需要将NULL作为不带引号的字符串传递。这是因为您正在构建纯SQL。 因此,请确保该声明是有效的。
对于参数化查询,它应该是NULL值而不是NULL字符串。