错误语法mysql..when将数组保存到数据库

时间:2015-01-21 13:07:01

标签: php mysql arrays

我编写代码将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();

如何解决?

1 个答案:

答案 0 :(得分:0)

changereserved word,需要使用反引号进行转义。

INSERT INTO `Dadoo`(name,liveprice,`change`,lowest,topest) ...