MySQLi准备语句默默地失败了第二次执行

时间:2014-07-14 23:19:58

标签: php mysqli

我正在尝试创建一个简单的系统,一旦您查看论坛帖子,它就会使用DB表中的当前UNIX时间更新现有数组条目,该表中包含用户的帐户信息。该列设置为接受MEDIUMTEXT并设置为NOT NULL。

但是,当第一个预准备语句按预期工作并且我收到正确的值,并且json_table被正确地重新编码时,第二个查询不会更新列数据。没有错误(无论我设置mysqli的错误级别如何)。我绑定的参数都不是NULL并且是正确的。

我很难过为什么会这样。 MySQLi魔法我还没学过?限制在哪里?

    $DB = GetDatabaseConnection();
    $Statement = $DB->prepare("SELECT `forum_newpost_icondata` FROM `user_accounts` WHERE `id` = ?");
    print(mysqli_error($DB));
    $Statement->bind_param("i", $UserLoggedIn['id']);
    $Statement->bind_result($JSONTable);
    $Statement->execute();

    $PostData = json_decode($JSONTable);
    $PostData[$ThreadID] = time();
    $PostData = (string)json_encode($PostData);

    $Statement->free_result();
    $Statement->close();

    $Reinsertion = $DB->prepare("UPDATE `user_accounts` SET `forum_newpost_icondata` = ? WHERE `id` = ?");
    print(mysqli_error($DB));
    $Reinsertion->bind_param("si", $PostData, $UserLoggedIn['id']);
    $Reinsertion->execute();
    print(mysqli_error($DB)); // Checking after execute is still blank
    $DB->close();

0 个答案:

没有答案