php如何将逗号分隔的多个json格式的字符串作为一个值插入到mysql表中? [复制]

Posted

技术标签:

【中文标题】php如何将逗号分隔的多个json格式的字符串作为一个值插入到mysql表中? [复制]【英文标题】:php how to insert comma separated multiple strings in json format as one value into mysql table? [duplicate] 【发布时间】:2016-09-26 14:25:18 【问题描述】:

php 中,代码如下:

$j_id = $jData[$j]['itop_id'];
$res = '"name":"' . $jData[$j]['label'] . '","x":'. $jData[$j]['x'] . ',"y":' . $jData[$j]['y'] . ',"url":"' . $jData[$j]['icon_url'] . '"';

我可以得到值:

$j_id = 1;
$res = "name":"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-production/itop-config-mgmt/images/business-process.png"

当我尝试使用以下代码将 $j_id 和 $res 的值插入 mysql 表时:

$sql = 'INSERT INTO coordinate_info (id,coordinate_res) VALUES ('.$j_id.','. $res.')';

我得到了错误:

Error: INSERT INTO coordinate_info (id,coordinate_res) VALUES (1,"name":"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-production/itop-config-mgmt/images/business-process.png")  You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-produ' at line 1

我想将逗号分隔的多个 json 格式的字符串作为一列值插入到 mysql 表中。 你能给我一些建议吗? 在 php 中,如何将逗号分隔的值作为一个值保存到 mysql 表中?

【问题讨论】:

准备好的语句或转义你的字符串会很好 会有所帮助:$sql = "INSERT INTO coordinate_info (id,coordinate_res) VALUES (".$j_id.",'$res')"; 【参考方案1】:

您应该真正使用准备好的语句和参数。如果安全不是问题,您只需将 SQL 更改为如下所示:

$sql = 'INSERT INTO coordinate_info (id,coordinate_res) VALUES ('.$j_id.',"'. $res.'")';

【讨论】:

我认为您的查询类似于INSERT INTO mytable (test) VALUES (""test"") 将不起作用。 如果你回显我的 $sql 变量,你会得到:INSERT INTO coordinate_info (id,coordinate_res) VALUES (1, "string") 不,不是,我查过了。 老兄,如果你有这个代码$j_id = 1; $res = 'string'; $sql = 'INSERT INTO coordinate_info (id,coordinate_res) VALUES ('.$j_id.',"'. $res.'")'; echo $sql;你会得到以下输出:INSERT INTO coordinate_info (id,coordinate_res) VALUES (1, "string") 请注意,OP 在单引号中没有字符串值

以上是关于php如何将逗号分隔的多个json格式的字符串作为一个值插入到mysql表中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 PHP 逗号分隔的字符串集成到 SQL 查询中?

PHP JSON 格式货币逗号

如何在数字字段的条件下将逗号分隔的数字字符串传递给存储过程?

如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?

如何将 PHP 数组表示为逗号分隔的字符串? [复制]

解析逗号分隔列表的最佳方法