我的頁面使用ajax數據發送到php腳本。腳本得到的一個變量是:$ product_disc 現在我在腳本中完成的一個小測試清楚地顯示$ product_disc爲null。測試:使用MySqli將NULL值插入MySql記錄
if ($product_disc == null)
{$test="null";}
else {$test="not null";}
我讓我的代碼返回$測試的AJAX調用過程:
$return_array['success'] = array ('test' => $test);
而使用Firebug我看到Ajax響應有: 「測試」: 「空」
所以,我的結論是$ product_disc是值:空現在
,我的劇本里我使用下面的代碼中插入數據MySQL數據庫:
$stmt = mysqli_prepare($link, "INSERT INTO set_products (id,discount) VALUES (NULL , ?)");
mysqli_stmt_bind_param($stmt, "i", $product_disc);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
查詢正在執行,但插入的值是0而不是NULL!
只有當我明確加入:$ product_disc = null;在MySqli語句之前,插入的值爲NULL。
這是爲什麼? null和null之間有什麼不同?我跟着這個answer在stackoverflow希望我可以很容易地插入NULL,但隨後出現這個問題...
謝謝!
PS @stackoverflow team - 您的拼寫檢查字典無法識別單詞stackoverflow!
您準備product_disc爲整數,null不是整數。它被轉換爲0 – Khez 2011-04-15 13:15:20
哦..改變我解決它:)爲什麼不把它作爲一個答案? – Israel 2011-04-15 13:22:55
@Israel:spellchecker在您的瀏覽器中,lol) – zerkms 2011-04-15 13:25:10