Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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_Html_Mysql_Sql - Fatal编程技术网

PHP将数据更新到mysql(变量未定义时出错)

PHP将数据更新到mysql(变量未定义时出错),php,html,mysql,sql,Php,Html,Mysql,Sql,这是代码的一部分: 它首先根据id检索信息。但当我更改其中一个信息并单击“更新”时,它会给我未定义的变量错误,并且根本无法更新 在我看来,在第一次加载脚本时,一切都正常,因为您得到了一个页面。此时,isset($\u GET['edit'])将true 单击“更新”后(我猜您提交了页面本身)。此时,isset($\u GET['edit'])将false,因为您正在进行POST。所以,里面有块代码 if(isset($\u GET['edit'])){ ..... } 将跳过。这些变量是未定

这是代码的一部分: 它首先根据id检索信息。但当我更改其中一个信息并单击“更新”时,它会给我未定义的变量错误,并且根本无法更新



在我看来,在第一次加载脚本时,一切都正常,因为您得到了一个页面。此时,isset($\u GET['edit'])将true

单击“更新”后(我猜您提交了页面本身)。此时,isset($\u GET['edit'])将false,因为您正在进行POST。所以,里面有块代码

if(isset($\u GET['edit'])){
.....
}

将跳过。这些变量是未定义的


对不起,我的英语不好。

在我看来,在你第一次加载脚本时,一切都很好,因为你有一个页面。此时,isset($\u GET['edit'])将true

单击“更新”后(我猜您提交了页面本身)。此时,isset($\u GET['edit'])将false,因为您正在进行POST。所以,里面有块代码

if(isset($\u GET['edit'])){
.....
}

将跳过。这些变量是未定义的



对不起,我说的是英语。

嗯,这些变量在您使用时没有设置。这可能意味着
isset($\u GET['edit'])
为false(未设置),或者
$edit\u id
没有指向数据库中记录的值。请注意,当您到达作为更新提交的页面时,您正在执行一个POST,并且变量将仅在GETIf的情况下设置:
if(isset($\u GET['edit']){var\u dump($\u GET['edit']);exit;…..
运行时返回的值是什么?该值是否为与数据库中某行的
post\u id
匹配的整数?请尝试此
$update\u query=“更新帖子集帖子标题=”、“$post\U title1.”、帖子日期=”、“$post\U date1.”、帖子作者=”、$post\U author1.”、帖子图像=“$post\U image1.”、帖子关键词=“$post\U关键字1.”、帖子内容=“$post\U内容1.”其中帖子id=“$update\U id.”“;
@CraigvanTonder是的,它匹配。@RahulSaxena抱歉,我试过了,但仍然不起作用。嗯,这些变量在您使用它们时没有设置。这可能意味着
isset($\u GET['edit'])
为false(未设置),或者,
$edit\u id
没有指向数据库中记录的值。请注意,当作为更新提交到页面上时,您正在发布一篇文章,并且变量将仅在GETIf的情况下设置:
if(isset($\u GET['edit']){var\u dump($\u GET['edit']);exit;…..
运行时返回的值是什么?该值是否为与数据库中某行的
post\u id
匹配的整数?请尝试此
$update\u query=“更新帖子集帖子标题=”、“$post\U title1.”、帖子日期=”、“$post\U date1.”、帖子作者=”、$post\U author1.”、帖子图像=“$post\U image1.”、帖子关键词=“$post\U关键字1.”、帖子内容=“$post\U内容1.”其中帖子id=“$update\U id.”“;
@CraigvanTonder是的,它匹配。@RahulSaxena抱歉,我试过了,但仍然不起作用。我明白了。那么我该如何更改它?抱歉,那么我该如何更改它?在您的情况下,我想您应该将html表单块移到内部if(isset($_GET['edit')){……}。此链接可能有用:是的,已经没有未定义的变量错误。感谢您提供的解决方案。当我单击“更新”时,它表示帖子已更新。但我的数据库根本没有更改。知道原因吗?请尝试打印sql,在本例中为$update\u查询变量。并直接从数据库服务器运行它。您还可以调试查询的原因y不受影响?使用try catch、查看错误日志、var_dump($result),…我明白了。那么我该如何更改它?对不起,那么我该如何更改它?在您的情况下,我认为您应该将html表单块移到内部if(isset($_GET['edit']){…}中。此链接可能有用:是的,已经没有未定义的变量错误。感谢您提供的解决方案。当我单击“更新”时,它表示帖子已更新。但我的数据库根本没有更改。知道原因吗?请尝试打印sql,在本例中为$update\u查询变量。并直接从数据库服务器运行它。您还可以调试查询的原因y不受影响?使用try catch、查看错误日志、变量转储($result)。。。。