将JSON数据插入MySQL表

时间:2014-11-12 19:32:50

标签: php mysql sql json

我一直在关注如何将JSON数据插入MySQL表的解决方案(How to insert json array into mysql database)。代码似乎运行正常,但它仍然返回一个空数据集。

我正在测试一个假设,我的JSON文件中有100,000条记录。我创建了一个类似的JSON文件,只有三个记录认为文件的大小可能阻碍了它,但是这也没有用。

我已经检查了我的数据库名称,表名和行名,但是显示的代码是正确的。有什么指针吗?

<?php 
$json = file_get_contents('E:\xampp\htdocs\MOCK_DATA.json');
$obj = json_decode($json, true);

$connection = mysqli_connect("localhost", "root", "");
mysqli_select_db($connection, "et_test") or die('Couldnt connect database');

foreach($obj as $item)
{
    mysqli_query($connection, "INSERT INTO 'et_test'.'test' (first_name, last_name, colour, country, city)
VALUES ('".$item['first_name']."','".$item['last_name']."','".$item['colour']."','".$item['country']."','".$item['city']."')");
}
mysqli_close($connection);
?>

1 个答案:

答案 0 :(得分:1)

根据OP希望结束问题并标记为已解决:

这是一段有问题的代码'et_test'.'test'

使用反引号,因为在表名周围使用引号是错误的标识符:

SQL

mysqli_query($connection, "INSERT INTO `et_test`.`test` ...

使用or die(mysqli_error($connection))mysqli_query(),以获得“真实”错误。


考虑使用prepared statementsPDO with prepared statements

目前,您的现有代码向SQL injection开放。