我希望有人可以帮我这个
我有一个页面显示体育团队的不同成员,当用户点击特定玩家时,新页面打开'edit.php',其中所选(点击)的玩家信息显示在表单中。 (姓名,姓氏,电话号码和电子邮件等信息包含在表格中)
让我们说球员的名字改变了(非常不可能,只是一个例子)教练可以更新它。当他点击提交按钮时,数据库应该使用新信息进行更新
但是,当我将名称更改为John并单击“提交”时,我收到以下错误: 查询失败:“字段列表”
中的未知列“John”我花了最后几个小时调试这个没有运气,如果有人能指出我正确的方向,我会非常感激。代码如下:
if(isset($_POST['submit'])){
$firstname = $_POST['firstname'];
$query = "UPDATE player_info SET name =".$firstname." WHERE player_id =".$selectedplayer;
mysql_query($query)
or die ("Query failed:" .mysql_error());
}//end if
else
{
echo '<form name="update" method="post">';
while($row =mysql_fetch_array($result)){
$name = $row['name'];
$surname = $row['surname'];
$phone = $row['contact_number'];
$email =$row['email'];
$position = $row['position'];
echo "Name: <input type=\"text\" value= '$name' name='firstname' /><br>";
echo "Last Name: <input type=\"text\" value= '$surname' /><br>";
echo "Phone nr: <input type=\"text\" value= '$phone' /><br>";
echo "Email: <input type=\"text\" value= '$email' /><br>";
echo "Position: <input type=\"text\" value= '$position' /><br>";
} //end while
} //end else
echo'<input type="submit" name="submit">';
echo'</form>';
答案 0 :(得分:5)
您的$firstname
变量需要一些引号。 (你的领域不是整数):
$querie = "UPDATE player_info SET name ='".$firstname."' WHERE player_id =".$selectedplayer;
我假设您正在使用&#39; John&#39;在你的输入中。因为你遗漏了引号,你的MySQL看起来像SET name=John
,因为MySQL无法找到John&#39;作为一个领域,它告诉你。
<强>从不最少:强>
Please, don't use mysql_*
functions in new code。它们不再维护,并且已被正式弃用。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
答案 1 :(得分:1)
尝试使用这个名称的引号
'".$firstname."'
$query = "UPDATE player_info SET name ='".$firstname."' WHERE player_id =".$selectedplayer;