2012-12-25 46 views
0

我想變量設置爲NULLPHP - 如何添加到變量NULL值並保存到數據庫中?

$q = NULL.","; 
$q .= 'abc'; 

,並保存到數據庫:

mysql_query("INSERT INTO table (col_a, col_b) VALUES (".$q.")") 

但是這會產生錯誤消息:

INSERT INTO table (col_a, col_b) VALUES (,'abc')You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ','abc')' at line 2 

如何保存NULL到數據庫中變量?

回答

5

你可以擺脫要將其值設置爲NULL列,例如

$q = 'abc'; 
mysql_query("INSERT INTO table (col_b) VALUES ($q)") 

,或者如果值是動態的,與您現有的代碼,唯一的問題是,你還沒有包括在NULL你的字符串,

$q = "NULL,"; 
$q .= "'abc'"; 
mysql_query("INSERT INTO table (col_a, col_b) VALUES ($q)") 

的代碼是SQL Injection脆弱的,請閱讀下面的文章,以瞭解如何從它阻止。

2

你串聯NULL,並試圖解析它,它在聲明中,將實際讀取:

,ABC

而不是預期的

NULL,abc

所以只需在你的語句中寫一個文字「NULL」即可。

2

傳遞文字,加引號的字符串的查詢中:

$q = "NULL,"; 
2
$q = "NULL,"; 
$q .= '"abc"'; 

給你NULL,"abc",您可以在您的查詢。

您發佈的錯誤不能來自問題中的代碼.. abc附近的報價來自哪裏?你需要把它用引號括起來放在php變量的引號中,以便它們也可以在SQL中顯示。

相關問題