1

私は他の同様の質問のいくつかを見てきましたが、それでもそれを機能させることができないようです。FWIW、特定のエラーメッセージが表示されません。

<?php

// Create connection
$con=mysqli_connect("localhost","username","password");
mysqli_select_db($con, "database");
//let's start our session, so we have access to stored data
session_start();

$class = mysqli_real_escape_string($_SESSION['exclass']);
$fullname = mysqli_real_escape_string($_SESSION['fullname']);
$june = mysqli_real_escape_string($_SESSION['June']);
$july = mysqli_real_escape_string($_SESSION['July']);
$email = mysqli_real_escape_string($_POST['email']);
$phone = mysqli_real_escape_string($_POST['phone']);

//let's create the query
$insert_query = "INSERT INTO Responses (class,fullname,June,July,email,phone) VALUES ('$class','$fullname',$june,$july,'$email','$phone',)";

//let's run the query
$result = mysqli_query($con,$insert_query);

if($result){
    echo "Your response has been recorded. Thank you!";

}else{

    printf("Insert failed: %s\n", mysqli_error());
}
?>
4

2 に答える 2

3

MySQL は、末尾のカンマ表記をサポートしていません。

したがって、次のように置き換えます。

,'$phone',)

,'$phone')

また、フォールバック条件を追加して、エラー出力バッファーを表示します。

mysqli_query($con, $insert_query) or die(mysqli_error($con));

于 2013-03-07T17:28:55.707 に答える
1
"INSERT INTO Responses (class,fullname,June,July,email,phone) VALUES    ('$class','$fullname',$june,$july,'$email','$phone',<--- LOOK AT THIS COMMA)

これは、データベースへの挿入の失敗を説明する可能性が高いです。SQL 文字列からコンマを削除すると、正しく解析されます。

于 2013-03-07T17:29:06.287 に答える