php - Mysql 插入 PHP 冒号、分号和双引号

标签 php mysql wordpress

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

字段看起来像:

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

任何人都可以提供有关如何转义如此大量字符的任何指导

最佳答案

正如 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";}

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

关于php - Mysql 插入 PHP 冒号、分号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40528049/

相关文章:

php - 一个值转换为字符串的数组?

javascript - 如何在表单中单击国家和州时清除旧值?

php - 简单的MySQL查询问题

PHP 页面标题标签未正确显示

php - 如何将参数传递给mysql中的存储函数?

mysql - sql查找所有结果的最佳方式存在于两个带有条件的表中

php - PHP-无法创建数组

mysql - 我正在尝试连接我的本地主机 phpmyadmin

php - Divi Builder 自定义模块

wordpress - 如何防止 WordPress 中的 TinyMCE 编辑器更改 html 标记?