[英]Inserting a JSON Array into MySQL Database not looping correctly
我正在尝试将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;
}
}
尽管这现在会为您插入的每一行显示一条消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.