这是我的代码。我知道这应该很容易,但不知怎么的,SQL返回了一个解析错误。请帮忙。
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,DB_DATABASE);
if(mysqli_connect_errno()) {
die('SQL ERROR : ' . mysqli_connect_error());
}
mysqli_autocommit($link, FALSE);
$query = "INSERT INTO feedbackExit (1a, 2a, 3a, 4a, 5a, 1b, 2b, 3b, 4b, 5b, 6b, 1c, 2c, 3c, 4c, 5c, 6c, 1d, 2d, 3d, 4d, 5d, 6d, 1e, 2e)
VALUES (".$_POST['1a'].",".$_POST['2a'].",".$_POST['3a'].",".$_POST['4a'].",".$_POST['5a'].",
".$_POST['1b'].",".$_POST['2b'].",".$_POST['3b'].",".$_POST['4b'].",".$_POST['5b'].",".$_POST['6b'].",
".$_POST['1c'].",".$_POST['2c'].",".$_POST['3c'].",".$_POST['4c'].",".$_POST['5c'].",".$_POST['6c'].",
".$_POST['1d'].",".$_POST['2d'].",".$_POST['3d'].",".$_POST['4d'].",".$_POST['5d'].",".$_POST['6d'].",
".$_POST['1e'].",".$_POST['2e']")";
$q1 = mysqli_query($link,$query);
$query = "UPDATE ".$_SESSION['SESS_AUTH']." SET `refExitHash` = '".md5($_SESSION['SESS_USERNAME'], $raw_output = null)."'"." WHERE `index`='".$_SESSION['SESS_USERNAME']."'";
$q2 = mysqli_query($link,$query);
if (!($q1 and $q2) )
{
die('Error: ' . mysqli_errno($link));
mysqli_rollback($link);
}
else
{
header("location: FormExitPostSuccess.php");
mysqli_commit($link);
}
mysqli_close($link);
SQL引发以下解析错误:
分析错误:语法错误,意外的")",应为"、"或";"在第20行上的opt/lampp/htdocs/New/refeedbacking/WebsiteRoot/FormExitPostSuccess.php中
我的代码中的第20行是:$q1=mysqli_query($link,$query);
编辑:数组_POST中的所有值都来自单选按钮。是否仍然需要验证??
在我看来,所有的注释都是正确的,所以不要忽略它们,但错误似乎出现在SQL的最后一行:
".$_POST['1e'].",".$_POST['2e']")";
应该是
".$_POST['1e'].",".$_POST['2e'] . ")";
(注意在末尾添加点。