Mysql插入PHP冒号,半冒号和双引号

时间:2016-11-10 12:49:06

标签: php mysql wordpress

我正在编写一个自定义脚本来将数据插入wordpress数据库。数据库包含地址部分,字段中的数据具有各种冒号,半冒号和双引号。我正在努力编写php mysql insert语句。得到很多语法错误。

该字段看起来像:

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:"";}

任何人都可以提供有关如何逃避如此大量角色的任何指导

1 个答案:

答案 0 :(得分:0)

正如Roberto建议的那样 - 如果您试图将预格式化的序列化数组插入数据库(并且它有错误),那么它将不起作用。如果您正在单独收集所有数据并构建它,那么更简单的方法是首先构造数组,然后将其转换为可以轻松存储在数据库中的格式(序列化数组)。例如:

$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";}

现在,您可以在insert语句中引用$ address以获取格式正确的序列化数组。