我正在一个网站上工作,该网站应该从页面上的表单传递数据并使用PHP更新服务器上的students表。我现在要处理的条件是“修改数据”,因此它应该能够更新服务器上的数据,但不能...
大家可以提供的任何帮助或建议将不胜感激。提前致谢。
这是我的代码:
<?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'附近使用正确的语法
附注:我已经用数据创建了students表。我可以使用终端和相同的mysql查询(如上述查询)访问表并对其进行修改,但还是没有运气。另外,我有意更改了代码中的主机地址,数据库名称和密码(以防万一有人询问)。
echo $query
的输出UPDATE fall14_bmora013.students SET firstName = , lastName =
WHERE StudentID = 890
最佳答案
显然,您在,
语句中有语法错误(在WHERE
之前的附加UPDATE
),如下所示
UPDATE students SET firstName = $_POST[firstName],
lastName = $_POST[lastName], <-- remove this extra comma
WHERE StudentID = $_POST[StudentID]
编辑:
检查您的表单元素是否真的命名为
firstName
和lastName
?检查拼写。我怀疑名称与您在代码中引用的名称不同。
关于php - 如何使用PHP和MySQL使用where子句更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685301/