@SeiNakamura (Sei)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PHP INSERT INTOによるデータの送信でエラーが出ます

Q&A

Closed

解決したいこと

PHPでフォームからデータベースにデータを送りたいのですが、
エラーが出てしまい、確認画面(ans_conf.php)へ移動できません。
POSTは上手く機能しているようなので、下記のコード内に問題があると思われます。
コードが間違っている部分を教えて頂きたいです。

発生している問題・エラー

HTTP ERROR 500

該当するソースコード

if (isset( $_POST['submit'] )) {
    $ans = $_POST['answer'];
    $topicSql = "INSERT INTO `{$table}` (userId,userName,Answer)
                 VALUES(:userId,:userName,:answer)";
    $stmt2 = $conn->prepare($topicSql);
    $stmt2->bindParam( ':userId', $id, PDO::PARAM_SRT);
    $stmt2->bindParam( ':userName', $name, PDO::PARAM_STR);
    $stmt2->bindParam( ':answer', $ans, PDO::PARAM_STR);
    $stmt2->execute();

  header('Location:ans_conf.php');
  exit;
}

自分で試したこと

POSTされた値をechoで表示することが出来たので、POST機能は正常に動いています。

0 likes

3Answer

Comments

  1. ご参考まで(意外と深いphp)

table名の変数がうまく代入されていなかっただけでした。
ありがとうございました。

1Like

Comments

  1. もしまた質問することがあれば、その前にもっと詳しい情報を含むエラーメッセージが表示できるようにして、そのエラーメッセージを質問に書いていただくようお願いします。もっとも、それができれば自己解決できるでしょうけど。

下記のコード内に問題があると思われます。

もっと詳しいエラーメッセージは提示できませんか? MySQL に接続できないとか、SQL 文が間違っているとか(例えばテーブル名、フィールド名が実際の DB とは違っているとか)は、質問に書いてないこと以外は知る由もない他人には、分かりません。

0Like

Your answer might help someone💌