我编写代码将foreach数据保存到数据库中。
foreach数据是数组。
因此,将数组转换为字符串,然后保存到数据库,但在firefox上显示以下错误。
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在“更改,最低,最近”VALUES附近使用正确的语法('[{“Name”:“س\ u06a9هبها\ u'在第1行 我的代码
$con = @mysql_connect ("localhost","root", "");
mysql_select_db("coin", $con);
if (!$con)
{
die(mysql_error());
}else {
foreach($table_rows as $tr) { // foreach row
$row = $tr->childNodes;
if($row->item(0)->tagName != 'tblhead') { // avoid headers
$data[] = array(
'Name' =>trim($row->item(0)->nodeValue),
'LivePrice' => trim($row->item(2)->nodeValue),
'Change'=> trim($row->item(4)->nodeValue),
'Lowest'=> trim($row->item(6)->nodeValue),
'Topest'=> trim($row->item(8)->nodeValue),
///'Time'=> trim($row->item(10)->nodeValue),
);
}
}
$newstring = json_encode($data);
$date=array();
mysql_select_db ( "coin", $con );
"CREATE TABLE `Dadoo`(id INT NOT NULL AUTO INCREMENT,name VARCHAR(255),liveprice VARCHAR(255),change VARCHAR(255),lowest VARCHAR(255),topest VARCHAR(255),PRIMARY KEY(id)) ENGINE=MyISAM" or die(mysql_error());
$debugquery = mysql_query("INSERT INTO `Dadoo`(name,liveprice,change,lowest,topest) VALUES ('$newstring')");
if (!$debugquery)
{
die(mysql_error());
}
}
mysql_close();
如何解决?
答案 0 :(得分:0)
change
是reserved word,需要使用反引号进行转义。
INSERT INTO `Dadoo`(name,liveprice,`change`,lowest,topest) ...