<?php
if (isset($_GET['firstname'])){
$fname = $_GET['firstname'];
}
mysql_query("UPDATE student SET firstname = $fname WHERE studentID = $id");
?>
我有一个表格会更新我的数据库。在表单的底部有一个更新按钮。当我使用此代码时,它不起作用。
我可以在我的mysql_query中输入一个名为$ fname的tom,它会更新。
我也可以回显$ fname变量,它会正确回显表单中的内容。
但我无法让数据库获取$ fname。
任何建议都会很棒,谢谢。
答案 0 :(得分:2)
你忘记了名字旁边的引号:
mysql_query("UPDATE student SET firstname = '$fname' WHERE studentID = $id");
BTW你的代码对SQL注入很容易。请解决这个问题。见best-way-to-prevent-sql-injection-in-php
答案 1 :(得分:1)
您遗漏了$fname
和$id
周围的单引号(如果是字符串),
mysql_query("UPDATE student SET firstname = '$fname' WHERE studentID = '$id'");
注意:不推荐使用Mysql_ *扩展,并且对SQL注入开放。所以,避免使用它们。请改用PDO或Mysqli_ *。