gpt4 book ai didi

php - json.stringify 转换为数组 php 不插入 mysql

转载 作者:行者123 更新时间:2023-11-30 22:32:17 24 4
gpt4 key购买 nike

我正在尝试将一些来自 json.stringify 的数据插入到数据库中。特别是我做了以下事情:

$('#get-checked-data').on('click', function(event) {
event.preventDefault();
var checkedItems = [];
$("#check-list-box li.active").each(function() {
var $this = $(this);
var checkedItem = { subarea: $this.attr('data-value') };
checkedItems.push(checkedItem);
});

var lawcase = JSON.stringify(checkedItems);

$('#display-json').html("<input type='text' name='case' value='" +

lawcase + "' readonly >");
});
});

json.stringify 的值如下所示:

[{"分区":"1"},{"分区":"2"}]

我选择数据并通过 POST 将其发送到处理信息的类。

$user->case=$_POST['case'];

然后我操作数据以将字符串转换为数组:

$query = 'INSERT INTO subarea (id,subarea_id,area_id) VALUES (:a,:b,:c)';



$usercase=$this->case;
$check=json_decode($usercase,true);
$stmt = $this->conn->prepare($query);

数组看起来像这样,对我来说这似乎不正确,但我是数组的新手,不知道如何修复这个错误:

array(2) { [0]=> array(1) { ["subarea"]=> string(1) "1"} [1]=> array(1) { ["subarea"]=>字符串(1)“2”}}

最后我运行foreach来插入

    $stmt = $this->conn->prepare($query);
foreach($check as $key => $item)
{
$stmt->bindValue(':a',$this->user_id) ;
$stmt->bindValue(':b', $item['subarea']);
$stmt->bindValue(':c', $areavalue);//This comes from another variable, don't pay atention.
$stmt->execute();
}

但我收到通知:$stmt->bindValue(':b', $item) 中的数组到字符串的转换;线。我已经尝试了几乎所有的 real_escape_string,编码,解码一切,但我仍然得到一个不成功的输出。我检查了 stackflow 和其他网站、手册,我遗漏了一些无法让我解决问题的东西。

希望有人能帮助我,在此先感谢您。

编辑:代码正确,我使用的是共享服务器,问题出在该服务器的配置上。感谢您的回复。

最佳答案

您需要引用分区键,例如$item['subarea'] 而不是数组本身,否则它会给你数组到字符串的转换错误。

关于php - json.stringify 转换为数组 php 不插入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33558157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com