我正在尝试创建一个简单的系统,一旦您查看论坛帖子,它就会使用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();