Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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重定向页面导致问题_Php_Mysql_Redirect - Fatal编程技术网

使用PHP重定向页面导致问题

使用PHP重定向页面导致问题,php,mysql,redirect,Php,Mysql,Redirect,我有一个页面,其中有一个php页面的链接,该页面从$\u GET获取数据并更新数据库。之后,它将用户返回到主页,其中包含: header("Location: http://localhost/"); 问题是,这似乎“中断”了代码的mysql部分。如果我删除此重定向,数据库中的所有内容都会更新,但当我将其放回时,没有任何内容会更新 这是数据库更新代码,我使用我的一个类作为mysql包装器: $conn->where('hash',$data1['hash']); $conn->up

我有一个页面,其中有一个php页面的链接,该页面从$\u GET获取数据并更新数据库。之后,它将用户返回到主页,其中包含:

header("Location: http://localhost/");
问题是,这似乎“中断”了代码的mysql部分。如果我删除此重定向,数据库中的所有内容都会更新,但当我将其放回时,没有任何内容会更新

这是数据库更新代码,我使用我的一个类作为mysql包装器:

$conn->where('hash',$data1['hash']);
$conn->update(TABLE_ITEMS,$newData1);

$conn->where('hash',$data2['hash']);
$conn->update(TABLE_ITEMS,$newData2);
笔记:
-页面上没有文本或echo(),在
之前也没有空格,如果看不到大部分代码,很难确定,但我猜PHP页面将继续按照以前的方式工作。我认为可能发生的情况是,重定向页面(即您的主页)本身正在做一些数据库工作,这会覆盖原始页面所做的更改


正如我所说,在没有更多代码的情况下,这是一个相当疯狂的猜测(甚至没有任何关于所讨论的数据或站点所做工作的详细信息),但我认为值得研究这种可能性。

如果在输出以前的内容时发送标题,您将收到一个错误,可能会导致脚本停止执行。因此,如果标头位于更新之上,则可能根本不会执行更新。是否看到此错误取决于您的设置

<?
echo 'yo';
header('Location: ....'); // <-- error

Update(); // Never gets executed
尝试将其放在文件的顶部。有时会有帮助。在调用header()之前不能输出。

显示更多代码。我不知道为什么会这样,但事实证明,如果我改变这一点:

header("Location: http://localhost/");
为此:

header('Location: http://localhost/');

一切正常怪异

您具体希望看到什么?单独发送标头不会停止执行。。。我能想到的唯一一个可能相关的问题是,在关闭会话之前重定向不允许保存会话…那么序列呢?由于当您添加
标题(..
部分不执行数据库语句时,我想在您尝试更新数据库之前调用
标题(..
行),请看一看并让我们知道。我在问题中添加了序列。发布代码真的有那么难吗?更新在标题之前()没有echo语句。问题是header()正在工作,但是MYSQL更新没有通过Hwtf?没有区别。-1。
header('Location: http://localhost/');