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 に答える