语法错误查询INSERT INTO php

时间:2015-11-28 19:24:23

标签: php mysql

我尝试使用mysql_query()但是我收到错误说"你的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在附近使用正确的语法....问题是查询字符串

 $val=$_POST["valori"];
 $t=explode(",",$val);
 $id="";
 $nomi="";
 $i=0;

   $turno=$_POST["turno"];
  $div=$_POST["prova"];


   $username = "root";
    $password = "";
   $hostname = "localhost"; 
    $dbname = "culp";

  $dbhandle=mysql_connect($hostname, $username, $password);
   mysql_select_db($dbname) or die("Unable to select database");

  while(count($t)!=$i)
{

             $id=$id.$t[$i+1].",";
             $nomi=$nomi.$t[$i].",";
             $i=$i+2;

}


 $query1="INSERT INTO foglio (turno,paper,".$id."data)VALUES('$turno','$div','".$nomi."'CURDATE());";
    echo $query1;

    mysql_query($query1)or trigger_error(mysql_error()." in ".$query1); 

1 个答案:

答案 0 :(得分:1)

我假设您在查询中插入了四个值。所以你应该写:

$query1="INSERT INTO foglio (turno,paper,$id,data)VALUES('$turno','$div','$nomi',CURDATE());";

您使用双引号包装查询,因此您不需要单引号。 您在查询

中的第三个和第四个项目之间缺少逗号

此外,我假设您只是为个人项目执行此操作,因为您使用的是弃用的api(mysql_ *),将在下一个php版本中删除(因此您的代码将不再起作用)。此外,您的代码对sql注入开放,您应该转到准备好的语句