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