gpt4 book ai didi

php - 将JSON数组插入MySQL数据库无法正确循环

转载 作者:行者123 更新时间:2023-12-01 00:35:25 26 4
gpt4 key购买 nike

我正在尝试将JSON文件中的一些数据插入SQL数据库。

我已经编写了此脚本来读取JSON,对其进行解码并将其插入,但是我只得到第一条JSON行,因为我认为它无法正确循环。

我也收到一个重复的错误,我认为这是由于代码尝试循环同一行而不是JSON中的下一行所致! (仅插入第一个JSON项目)

如何获取脚本以循环JSON中的每一行并将其插入?

谢谢!

我正在使用的代码:

<?php
error_reporting(E_ALL);
$root = $_SERVER['DOCUMENT_ROOT'];
require ($root."/config.php");

$json = file_get_contents('propertiesA.json');
$obj = json_decode($json,true);

foreach($obj as $item) {
$query = "INSERT INTO unverified_list (
title,
street_address,
locality
) VALUES (
'".$item['title']."',
'".$item['street_address']."',
'".$item['locality']."'

)";
}

$result = $link->query($query);

if ($link->query($query) === TRUE) {
echo "Property Added";
} else {
echo "Error: " . $query . "<br>" . $link->error;
}

mysqli_close($link);

?>

最佳答案

问题是您仅在循环完成后才执行查询,您需要在每一行上运行它...

foreach($obj as $item) {
$query = "INSERT INTO unverified_list (
title,
street_address,
locality
) VALUES (
'".$item['title']."',
'".$item['street_address']."',
'".$item['locality']."'

)"; // Remove } from here to after next bit of code

$result = $link->query($query);

if ($link->query($query) === TRUE) {
echo "Property Added";
} else {
echo "Error: " . $query . "<br>" . $link->error;
}
}


尽管这现在会为您插入的每一行显示一条消息。

您还应该考虑使用 prepared statements来保护您免受各种潜在问题的困扰。

关于php - 将JSON数组插入MySQL数据库无法正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970936/

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