2016-11-10 63 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