2014-01-07 40 views
5

我想PARAMS綁定到一個INSERT如果變量存在INTO的MySQLi準備語句,否則插入null.Then我知道什麼是mysqli bind_param中的NULL類型?

 
type variable 
i corresponding variable has type integer 
d corresponding variable has type double 
s corresponding variable has type string 
b corresponding variable is a blob and will be sent in packets 

,但是當我插入變量=空,我怎麼定義的類型變量?或者我應該定義類型是''?

+0

只需將null作爲變量傳遞並使用字符串即可。 – Ohgodwhy

+0

將您的變量設置爲空(例如'$ var = null;')。 –

+0

可能重複http://stackoverflow.com/questions/4920873/mysqli-prepared-statements-insert-null-using-bind-params –

回答

1

設置你的變量爲null,並通過它,

$var1 = null; 
+0

我應該像$ var1 = null; $ insert_data-> bind_param('s',$ var1);或$ insert_data-> bind_param('',$ var1); – JackSun

+0

這不回答這個問題。 – Mike

11

你不需要投空到特定的數據類型 - 庫MySQLi將處理傳遞給任何接受的數據類型的空值,所以只需要使用如果您傳遞的是非空值,則每個字段的類型都會有。

$intVar = null; 
$doubleVar = null; 
$stringVar = null; 
$blobVar = null; 

$insert_data->bind_param('idsb', $intVar, $doubleVar, $stringVar, $blobVar); 

所有這些都是有效的,並將被Mysqli接受。