php - MySql一般错误: 2053

标签 php mysql database

我收到错误:

ERROR: SQLSTATE[HY000]: General error: 2053

我不知道为什么会发生这种情况,因为代码工作正常并且数据库已更新,但它仍然返回此错误。

这是我的代码:

<?php

header("Content-Type: application/json; charset=UTF-8");
require 'UHCauth.php';
try {
$conn = new PDO("mysql:host=$mysql_serv;dbname=$mysql_db", $mysql_user, $mysql_pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

if(isset($_GET['d6518e47'])) {
    $USERNAME = $_GET['d6518e47'];
    $stmt = $conn->prepare(
        "UPDATE $mysql_table
        SET KILLS = KILLS+1 WHERE USERNAME = :USERNAME"
    );
    $stmt->execute(array('USERNAME' => $USERNAME));

    $row = $stmt->fetch(PDO::FETCH_ASSOC);

    echo json_encode($row);
} else {

    $stmt = $conn->prepare(
        "SELECT * FROM $mysql_table
        ORDER BY
            McVersion DESC,
            ModVersion DESC
        LIMIT 1"
    );
    $stmt->execute();

    $row = $stmt->fetch(PDO::FETCH_ASSOC);

    echo json_encode($row);
}
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
?>

最佳答案

$row = $stmt->fetch(PDO::FETCH_ASSOC); 是会导致错误的行。

为什么?

因为更新后数组中没有任何内容可获取

记住这一点

PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

所以,没有结果集...没有聚会

如果你想知道命令的退出状态,只需使用execute()函数的返回值

$rv = $stmt->execute(array('USERNAME' => $USERNAME));

关于php - MySql一般错误: 2053,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602269/

相关文章:

php - Laravel 5 表单不工作(不插入数据)

php - Mailchimp 双重选择加入和网站帐户确认

mysql - 有没有人有充分的证据证明 CHAR 比 VARCHAR 快?

mysql - 无法将特定列值与多个不同的列相加

mysql - 无法添加外键约束错误1215 phpmyadmin

javascript - php while 但结果必须在 javascript 中显示

PHP IMAP使用imap append添加已发邮件到imap邮箱后获取uid

php - 如何从服务器访问在本地 Mac 上运行的 neo4j

MySQL 显示临时表;

mysql - 在 A 之前订购 AA