Php MySQL数据库中的数据未更新。有什么想法吗?
我正在尝试使用下面的更新MySQL数据库。我连接良好,在提交更改时没有出现错误,但数据库没有显示任何更改。有什么想法吗Php MySQL数据库中的数据未更新。有什么想法吗?,php,mysql,html,sql,sql-update,Php,Mysql,Html,Sql,Sql Update,我正在尝试使用下面的更新MySQL数据库。我连接良好,在提交更改时没有出现错误,但数据库没有显示任何更改。有什么想法吗 <?php //replace usernaem,password, and yourdb with the information for your database mysql_connect("######","######","######") or die("Error: ".mysqlerror()); mysql_select_db("#####")
<?php
//replace usernaem,password, and yourdb with the information for your database
mysql_connect("######","######","######") or die("Error: ".mysqlerror());
mysql_select_db("#####");
//get the variables transmitted from the form
$id = $_POST['id'];
$trailName = $_POST['trailName'];
$trailDesc = $_POST['trailDesc'];
$trailHike = $_POST['trailHike'];
$trailBike = $_POST['trailBike'];
// update data in mysql database
$sql="UPDATE markers SET trailName='$trailName', trailDesc='$trailDesc', trailHike='$trailHike' WHERE id='$id'";
mysql_query($sql) or die ("Error: ".mysql_error());
echo "Database updated. <a href='edit.php'>Return to edit info</a>";
?>
这可能是因为update语句中的where子句没有找到您要传递的id。查询中存在问题。你的问题应该是这样的
更新标记集trailName='“$trailName.”,trailDesc='“$trailDesc.”,trailHike='“$trailHike.”,其中id='$id'我同意OscarMk的观点:可能找不到id。为什么在更新查询中引用id值?id通常是整数,不应该被引用。你确认了$id
有一个有效的值吗?试着不使用php直接运行sql。添加mysql\u受影响的\u行()要查看更改了多少行请通过mysql\u real\u escape\u字符串运行POST变量。测试查询的最佳方法是使用PHPMyAdmin或类似的客户端运行它,而不是尝试用PHP调试它。在PHP中可以做的就是像echo$sql那样简单地打印它,以查看正在运行的实际查询?或者没有错误只是数据库不更新?引用是php/mysql最大的问题。不要忘记转义所有用户输入的字符串!不,不是。这简直是荒谬的废话。语法没有问题。@balki-quoting在PHP中一点也不麻烦。不是最大的,也不是最小的。引用没有任何问题。任何颜色编码的编辑器,比如记事本+,如果你没有正确使用引号,都会立即告诉你。就是这样!我需要切换到ID='$ID'vs ID=的位置,我想它是区分大小写的?@RonnieT可能是的,对于windows来说这并不重要,但Unix是区分大小写的