1

以下のスクリプトを実行している間、errorError:Unknown column'email'in'fieldlist'が表示されます。

  <?php
  include("connect.php");

  if($loggedin == '1')
  die("You can't register another account while you're logged in.");

  if(isset($_POST['submit']))
  {

  $uname = trim($_POST['username']);

 if($_POST["regkey"]!="171717")
 die("Invalid Registration Key. <br> <a href= register.php>Back</a>");

 if($_POST["pass"]!=$_POST["pass2"])
 die("Passwords do not match. <br> <a href= register.php>Back</a>");

 // Make sure all forms were filled out.

 if((!isset($_POST['username'])) || (!isset($_POST['pass']))
 || ($uname == '') || ($_POST['pass'] == ''))
 die("Please fill out the form completely. <br><br>
 <a href=register.php>Continue</a>");


 $check = @mysql_query("SELECT id FROM players WHERE username = '$uname'");
 $check = @mysql_num_rows($check);

 if($check > 0)
 die("Sorry, that username has already been taken. Please try again.
 <br><br>
 <a href=register.php>Continue</a>");


 $pass = md5($_POST['pass']);

 $date = date("m/d/y");


 $newPlayer = @mysql_query("INSERT INTO players (username, password,   

registered,callname,email) VALUES   ('$uname','$pass','$date','$_POST

[callname]','$_POST[email]')") or die("Error: ".mysql_error());

echo 'You have been registered! You may now <a href=index.php>Log in</a>.';


}
else
{

// A simple example of a form.

echo '
<center>
<form action=register.php method=post>
<p>Registration is currently<b> NOT OPEN.</b><br>
 You must have a valid Registration key to register.</p>
 <table border="2">
 <tr>
<td>Username:</td><td><input type="text" name="username" size="20px"</input>
</td>
</tr>
<tr>
<td>Callname:</td><td><input type="text" name="callname" size="20px"</input>
</td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="pass" size="20px"</input>
</td>
</tr>
<tr>
<td>Re-type Password:</td><td><input type="password" name="pass2" size="20px"</input>  
</td>  </tr>
<tr>
<td>Email:</td><td><input type="text" name="email" size="20px"</input></td>
</tr>
<tr><td>Registration Key:</td><td><input type="text" name="regkey" size="20px"></input>                                                                                         

 </td>    </tr>
 </table>
 <input type="submit" name="submit" value="Submit"></input>
 </form>';

 }


 ?>

私はPHPを初めて使用するので、なぜこのエラーが発生するのか理解できません。$ _POSTはフォームからその値を取得するべきではありませんか?読んでくれてありがとう。

4

3 に答える 3

4

これは、playersテーブルに列が含まれていないことを意味しますemail。このスクリプトを機能させるには、この列をテーブルに追加する必要があります。

したがって、コードの間違った部分は

$newPlayer = @mysql_query("INSERT INTO players(username, password, registered, callname, email)
                           VALUES('$uname', '$pass', '$date', '$_POST[callname]', '$_POST[email]')") or die("Error: ".mysql_error());
于 2012-07-21T04:42:59.173 に答える
0
  1. emailプレーヤーテーブルにフィールドを追加します。
  2. emailプレーヤーのスペルを間違えた可能性があります。
于 2012-07-21T04:46:36.997 に答える
0
$sql = "INSERT INTO user_registration (u_name,s_father,s_schoolname,s_rollno,s_class)
VALUES ($name,$father,$school,$rollno,$class)";

エラー:INSERT INTO user_registration(u_name、s_father、s_schoolname、s_rollno、s_class)VALUES(Azhar、hassan、Chulli_payaan、1008,10th)不明な列'Azhar' in'field list'

于 2016-12-11T07:31:04.940 に答える