如何把空值在SQL服务器通过php代码


How to put Null value in a SQL sever via php code

我有以下代码,它将从这9个变量中获取值并将它们插入到表中。但是,我不知道如何在我的表中插入NULL值。如第10行所示,如果我尝试使用关键字NULL,它会将其视为字符串。

        $WorkOrder = $_POST['WorkOrder'];
        $Originated = $_POST['Originated'];
        $CustID = $_POST['CustID'];
        $Customer = $_POST['Customer'];
        $Contact = $_POST['Contact'];
        $Completed = $_POST['Completed'];
        $AccountNum = $_POST['AccountNum'];
        $Description = $_POST['Description'];
        $Status = $_POST['Status'];
        $Status = "NULL"; //Testing with NULL
        $insertquery = "INSERT INTO ElectronicShop(WorkOrder, Originated, CustID, Customer, Contact, Completed, AccountNum, Description, Status) 
                       VALUES ('$WorkOrder','$Originated','$CustID','$Customer','$Contact','$Completed','$AccountNum','$Description','$Status')";
        $data = sqlsrv_query($connectString, $insertquery) or die(print_r(sqlsrv_errors(SQLSRV_ERR_ALL), true));

我将通过网页中的文本框获得这9个变量的值。所以,我不能手动输入NULL在我的查询

而不是:

$insertquery = "INSERT INTO ElectronicShop(WorkOrder, Originated, CustID, Customer,  Contact, Completed, AccountNum, Description, Status) VALUES ('$WorkOrder','$Originated','$CustID','$Customer','$Contact','$Completed','$AccountNum','$Description','$Status')";

使用:

$insertquery = "INSERT INTO ElectronicShop(WorkOrder, Originated, CustID, Customer, Contact, Completed, AccountNum, Description, Status) VALUES
('$WorkOrder','$Originated','$CustID','$Customer','$Contact','$Completed','$AccountNum','$Description', NULL)";

你不需要为它指定一个变量,只需要在你的查询中写入不带字符串标记符号(')的"NULL"。

Greetz

不要使用引号":

$Status = "NULL";

使用:

$Status = null

如果Status列的默认值不是NULL,则不要在insert语句的列列表中使用该列