我正在尝试解析 json 文件并将字段推送到数据库 jSON 来源:http://graph.facebook.com/10153575791993298/
解析和回显
<?php
$json_file = file_get_contents('http://graph.facebook.com/10153575791993298/');
$info = json_decode($json_file);
if ($info) {
foreach ($info->likes->data as $obj){
echo $obj->id, "<br/>";
echo $obj->name, "<br/>";
}
}
?>
数据库部分:
<?php
// Create connection
$mysqli = new mysqli('localhost', 'root', 'root', 'facebook');
$query = <<<SQL
INSERT INTO Likes ('ID', 'Name')
VALUES (?, ?)
SQL;
$stmt = $mysqli->prepare($query);
foreach ($info['data'] as $key => $value) {
$stmt->bind_param(
// the types of the data we are about to insert: s = string, i = int
'ss',
$value['id'],
$value['name'],
);
$stmt->execute();
}
$stmt->close();
$mysqli->close();
?>
我正确设置了表,但不知道为什么无法将数据推送到数据库。
我想检索数据并推送到我的数据库的 Json 部分 http://graph.facebook.com/10153575791993298/likes
最佳答案
MySQL 语法 101:'
将内容转换为字符串:
INSERT INTO Likes ('ID', 'Name')
^--^--^----^---
您没有插入名为 ID
的字段。您传递的是 STRING,这是非法语法。一旦某个东西是字符串,它就不会被数据库解释为字段/表标识符。
应该是这样
INSERT INTO Likes (ID, Name)
因为您的字段名称都不是保留字。如果您坚持引用内容,请使用反引号来引用字段/表名称:
INSERT INTO Likes (`ID`, `Name`)
关于php - Json转Mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781755/