在mysql中插入大量数据

时间:2012-11-13 07:12:30

标签: php mysql

所以我试图在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

2 个答案:

答案 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);