0

私はこの単純なコードを持っています.3つのフィールド、姓、名、電子メールをWebサイトフォームからmysqlデータベースにタグ付けしようとしています. フォームをテストして「登録」をクリックすると、「エラーが発生しました。アイテムが追加されませんでした」というエラーが表示されます。エラーが発生しているポイントがわからないため、これをデバッグするにはどうすればよいですか?

<html>
<head>
<title> Nomad - New User Registration Results</title>
</head>

<body>
   <h1>Nomad - New User Registration Results</h1>
 <?php
 // create short variable names
 $First_Name=$_POST['First_Name'];
 $Last_Name=$_POST['Last_Name'];
 $Email=$_POST['Email'];
 if(!$First_Name || !$Last_Name || !$Email) {
 echo "You have not entered all the required details.<br />"
 ."Please go back and try again.";
 exit;
 }
 @ $db=new mysqli('localhost','nomad_steve','steven','nomad_prod');
 if (mysqli_connect_errno()) {
 echo "Error: Could not connect to database. Get it together Steve!";
 exit;
 }
 $query = "insert into nomad_prod values
      (' " .$First_Name.",' " .$Last_Name."',' ".$Email."')";
  $result=$db->query($query);
 if ($result) {
 echo $db->affected_rows." book inserted into database.";
  } else {
 echo "An Error Has Occured. The item was not added.";
  }
 $db->close();
 ?>
 </body>
   </html>
4

3 に答える 3

1

これを試してみてくださいあなたの問題を解決するかもしれません

$query = "insert into Player(first_name,last_name,email) values('" .$First_Name."','".$Last_Name."','".$Email."')";
$result=$db->query($query);

データを入力する必要がある列名を指定する必要があることを確認しました。

于 2012-12-04T07:36:06.080 に答える
0

クエリを自分で作成する代わりに、準備済みステートメントを使用します。

あなたは $_POST['First_Name'] を $Email として複製しています。私には正しくないようです

上記の変更を行ってみて、何が表示されるかを確認してください。

于 2012-12-04T07:51:14.927 に答える
0
(' " .$First_Name.",' " .$Last_Name."',' ".$Email."')";

上記のクエリで'afterを見逃しています。First_name

(' " .$First_Name."',' " .$Last_Name."',' ".$Email."')";
于 2012-12-04T07:00:23.603 に答える