Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL数据库中的数据未更新。有什么想法吗?_Php_Mysql_Html_Sql_Sql Update - Fatal编程技术网

Php 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("#####")

我正在尝试使用下面的更新MySQL数据库。我连接良好,在提交更改时没有出现错误,但数据库没有显示任何更改。有什么想法吗

    <?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是区分大小写的