我尝试了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);
我假设您在查询中插入了四个值。所以你应该写:
$query1="INSERT INTO foglio (turno,paper,$id,data)VALUES('$turno','$div','$nomi',CURDATE());";
您正在用双引号包装查询,这样就不需要单引号了。查询中第三项和第四项之间缺少逗号
此外,我认为您这样做只是为了一个个人项目,因为您使用的是一个不推荐使用的api(mysql_*),该api将在下一个php版本中删除(因此您的代码将不再工作)。此外,您的代码对sql注入是开放的,您应该转到准备好的语句