2016-11-10 92 views
0

我正在寫一個自定義腳本來將數據插入到wordpress數據庫中。該數據庫包含地址部分,並且該字段中的數據具有各種冒號,分號和雙引號。我很難嘗試編寫php mysql插入語句。獲得很多語法錯誤。Mysql插入PHP冒號,分號和雙引號

實地看起來像:

a:9:{s:8:"address1";s:7:"street1";s:8:"address2";s:7:"street2";s:4:"city";s:9:"London";s:5:"state";s:5:"Bucks";s:11:"postal_code";s:8:"MK49 8UY";s:7:"country";s:2:"GB";s:13:"logo_image_id";s:1:"0";s:5:"notes";s:0:"";s:12:"instructions";s:0:"";} 

任何人都可以提供如何逃生等一大批人物

+3

使用準備好的語句,不需要轉義。 – jeroen

+0

這是一個(序列化數組)[http://php.net/manual/en/function.serialize.php](帶有錯誤,順便說一句)。只需建立你的數組,並使用'serialize'函數。 – roberto06

回答

0

的羅伯託:建議任何指導 - 如果您正試圖插入格式化的序列化陣列預到你的數據庫(它有一個錯誤),它不會工作。如果您要單獨收集所有數據並構建它,更簡單的方法是首先構造數組,然後將其轉換爲可輕鬆存儲在數據庫中的格式(序列化數組)。示例:

$address = array(
'address1' => 'Street1', 
'address2' => 'Street2', 
'city'  => 'London', 
'state'  => 'bucks', 
'postal_code' => 'MK49 8UY', 
'country'  => 'GB', 
); 

$formattedAddress = serialize($address); 
// returns 
// a:6:{s:8:"address1";s:7:"Street1";s:8:"address2";s:7:"Street2";s:4:"city";s:6:"London";s:5:"state";s:5:"bucks";s:11:"postal_code";s:8:"MK49 8UY";s:7:"country";s:2:"GB";} 

您現在可以在插入語句中引用$ address以獲取格式正確的序列化數組。

+0

沒問題!很高興有幫助。 – Steve