【发布时间】:2014-12-28 09:37:23
【问题描述】:
我正在开发一个网站,该网站应该从页面上的表单传递数据并使用 PHP 更新服务器上的学生表。我现在正在尝试处理的条件是修改数据,所以它应该能够更新服务器上的数据,但它没有......
你们可以提供的任何帮助或建议将不胜感激。提前致谢。
这是我的代码:
<?php
date_default_timezone_set('America/New_York');
$connection = mysql_connect("hostaddress","DBname","password");
// Check connection
if (!$connection)
{
echo "Connection failed: " . mysql_connect_error();
}
else
{
//select table
mysql_select_db("DBname");
echo "Database Found! <br>";
$query = "UPDATE students
SET firstName = $_POST[firstName],
lastName = $_POST[lastName]
WHERE StudentID = $_POST[StudentID]";
$res = mysql_query($query);
if ($res)
{
echo "<p>Record Updated<p>";
}
else
{
echo "Problem updating record. MySQL Error: " . mysql_error();
}
}
mysql_close($connection);
?>
我不断收到此错误:
找到数据库! 更新记录时出现问题。 MySQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“lastName = , WHERE Stud”附近使用正确的语法
P.S:我已经用一些数据创建了学生表。我可以使用终端和与上面相同的 mysql 查询访问该表并对其进行修改,但仍然没有运气。另外,我故意更改了代码中的主机地址、数据库名称和密码(以防万一有人问起)。
echo $query的输出
UPDATE fall14_bmora013.students SET firstName = , lastName =
WHERE StudentID = 890
【问题讨论】:
-
去掉“WHERE”前第二个“SET”后的逗号
-
重要提示:您的数据库对 SQL 注入开放。请阅读How can I prevent SQL-injection in PHP?
-
为什么有 SQL-server 标签?那是特定的 Microsoft 产品,而不是涉及 sql 的服务器。
标签: php mysql sql-update update-statement