php - 为什么这个页面添加号码和重定向失败?

标签 php mysql prepared-statement

所以基本上我有另一个页面通过 GET 向此页面发送信息。我仔细检查了 URL 以确保 GET 工作正常,确实如此。我不明白的是为什么这个脚本不会:

1)向管理表中的 NumberOfResponse 添加 1...

2)重定向到页面(见代码底部)

现在调用的状态更新为2,但没有其他任何反应,或者有任何 echo 。

代码

<?php
session_start();

include '../includes/connection.php';
include 'functions.php';
error_reporting(E_ALL);
ini_set('display_errors', 1);


$id = escape($_GET['id']);
$banner = escape($_GET['bannerID']);
$bannerName = escape($_GET['bannerN']);

$query = $handler->prepare("UPDATE Calls SET Status = '2', TakenBy = :bannerName WHERE ID=:id");
$query->bindParam(':bannerName', $bannerName);
$query->bindParam(':id', $id);
$query->execute();

$update = $handler->prepare("UPDATE Admins SET NumOfResponse + 1 WHERE ID = :banner");
$update->bindParam(':banner', $banner);
$update->execute();

header("Location: ../pages/incomingCalls.php");

最佳答案

我认为您不需要选择 NumOfResponse 来在第二个查询中更新其值。您可以通过执行单个更新查询来实现此目的。

而且你在这里做了一些奇怪的事情:

$query = $query->fetchObject();

您不需要获取更新查询的结果。

另一个错误是当你这样做时:

$number = $query->NumOfResponse;

您实际上是用另一个值覆盖了已经增加的值 $number 。

您可以这样简化代码:

<?php
session_start();

include '../includes/connection.php';
include 'functions.php';

$id = escape($_GET['id']);
$banner = escape($_GET['bannerID']);
$bannerName = escape($_GET['bannerN']);

$query = $handler->prepare("UPDATE Calls SET Status = '2', TakenBy = :bannerName WHERE ID=:id");
$query->bindParam(':bannerName', $bannerName);
$query->bindParam(':id', $id);
$query->execute();

$update = $handler->prepare("UPDATE Admins SET NumOfResponse = NumOfResponse  + 1 WHERE ID = :banner");
$update->bindParam(':newNum', $newNum);
$update->bindParam(':banner', $banner);
$update->execute();

header("Location: ../pages/incomingCalls.php");

关于php - 为什么这个页面添加号码和重定向失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38546631/

相关文章:

mysql - 模型中的错误检查

python - Python 3 和 MySQL 连接器的 Unicode 和参数数量错误

php - mysqli_stmt::bind_param() 的参数 2 预期为引用,给出值

javascript - 输入法所见即所得编辑器不在 mysql 数据库中存储值?

javascript - 在 Google map 上显示搜索查询的结果

php - 如何从mysql中的多个表关系中检索数据

PHP session_start() 用法

php - 存储序列化数组时进行清理

postgresql - 如何将 DEFAULT 插入到 PostgreSQL 中的准备语句中

php - 在 HTTP POST 中使用 JSON 发送密码