所以我试图在Facebook中存储来自facebook的用户喜欢
$likes_json=json_encode($user->likes->data);
echo($likes_json);
$query = "INSERT INTO users VALUES (' ','".$likes_json."', NOW())";
$mysqli->query($query);
“echo”打印出预期的字符串(长度为56000个字符)
[{"name":"The Next Web","category":"Website","id":"106976563522"....
但是没有任何东西存储在数据库中。当我更改$likes_json='some other string';
时,它会罚款(它会插入数据库中)
Coloumn for likes的类型为“mediumtext
”
答案 0 :(得分:1)
你需要使用mysql_real_escape_string
来逃避$ likes_json您的查询最终看起来像这样
INSERT INTO users VALUES (' ','[{"name":"The Next Web","category":"Website","id":"106976563522"}]', NOW())
看看为什么那不起作用?如果数据包含'?
,该怎么办?答案 1 :(得分:1)
错误可以转义,但唯一可以确定的方法是打印错误:
$mysqli->query($query) or die("Error: ":$mysqli->error);
逃逸:
$likes_json=json_encode($user->likes->data);
$query = "INSERT INTO users VALUES (' ','%s', NOW())";
$query = sprintf($query,$mysqli->real_escape_string($likes_json);