繁体   English   中英

Javascript数组(内部带有对象)到PHP以插入数据库

[英]Javascript Array(With objects inside) to PHP to insert into a database

是的,我有一个内部有对象的数组,看起来像这样:

带有对象的数组

我希望将其通过对我的php文件的AJAX调用插入到我的数据库中。

我在数组上尝试了JSON.stringfy,返回数据库的结果是

[{“任务”:“轮胎”,“注释”:“你好”,“完成”:“真实”},{“任务”:“轮胎”,“注释”:“所有四个轮胎都需要做”,“完成“:” True“},{” task“:”轮胎“,”注释“:”所有四个轮胎都需要做“,” completed“:” True“},{” task“:”轮胎“,”注释“: “所有四个轮胎都需要做”,“完成”:“正确”}]

双引号已替换为“我意识到这是引号的符号,但是我希望使用引号。

我也尝试发送数组,数据库返回空白。

JavaScript代码

PHP代码

有没有解决的办法?

您需要使用PHP json_decode转换回对象。 但是请注意,它将仅转换回StdClass。 您需要阅读并处理正确的转换。 例如:

$carChecklist = json_decode($_POST['checklist']);
echo $carChecklist[0]->tyres;

应返回“轮胎”;

将PHP数据对象(PDO)用于数据库插入。 它使您可以准备语句以防止注入攻击。 您将不需要“ safeString”之类的函数,并且可以保证您放入的内容就是您得到的内容。

这是一个看起来像的例子。 您可以看到参数已命名,并且我们在名称作为键的数组中传递了值。

$sql = "UPDATE mutable SET json=:json WHERE id=:id";
$statement = $dbh->prepare($sql);
$statement->execute([":json" => $json, ":id" => $id]);
$result = $statement->fetchAll(PDO::FETCH_ASSOC);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM