0

这是我的代码。我知道这应该很容易,但不知何故,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 抛出以下解析错误:
解析错误:语法错误,意外 ')',期待 ',' 或 ';' 在 opt/lampp/htdocs/New/feedback/WebsiteRoot/FormExitPostSuccess.php 第 20 行

我的代码中的第 20 行是: $q1 = mysqli_query($link,$query);

编辑:数组 _POST 中的所有值都来自单选按钮。还需要验证吗??

4

1 回答 1

1

在我看来,所有评论都是正确的,所以不要忽略它们,但错误似乎出现在 SQL 的最后一行:

".$_POST['1e'].",".$_POST['2e']")"; 

应该

".$_POST['1e'].",".$_POST['2e'] . ")"; 

(注意最后添加的点。

于 2012-03-20T19:39:54.880 回答