繁体   English   中英

将数组保存到数据库时出错语法mysql ..

[英]error syntax mysql..when save array to database

我编写代码以将foreach数据保存到数据库。

foreach数据是数组。

因此,firs将数组转换为字符串,然后保存到数据库,但是在Firefox上显示以下错误。

您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'我的代码的第一行使用''{{“ Name”:“س\\ u06a9هبها\\ u'

$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();

如何解决?

change保留字 ,需要通过反引号进行转义。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM