2012-07-21 52 views
1

运行下面的脚本时,它显示errorError:'字段列表'中的未知列'email'。错误:字段列表中的未知列

<?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

这意味着您的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()); 
+0

谢谢,这是问题。 – Sunden 2012-07-21 04:53:04

+0

很高兴听到。请考虑upvoting我的答案和接受我的答案(通过点击我的答案旁边的绿色复选框) – Kris 2012-07-21 05:17:40

+0

在我的情况下,该列确实存在,但我忘记将非整数变量括在引号! ;) – Leo 2016-04-07 15:24:00

0
  1. 在您的播放表中添加email场。
  2. 有可能是你拼错了email在播放器中。
0
$sql = "INSERT INTO user_registration (u_name,s_father,s_schoolname,s_rollno,s_class) 
VALUES ($name,$father,$school,$rollno,$class)"; 

Error: INSERT INTO user_registration (u_name,s_father,s_schoolname,s_rollno,s_class) VALUES (Azhar, hassan, Chulli_payaan,1008,10th) Unknown column 'Azhar' in 'field list'

+0

请任何一个告诉我上面的错误。未知列 – azhar 2016-12-11 07:32:34

+0

我是新的与PHP。我有麻烦请任何人帮助我 – azhar 2016-12-11 07:33:46

相关问题