【发布时间】:2020-07-19 15:39:57
【问题描述】:
我目前正在做一个项目,在某个条件下,将 TableA 的内容汇总并插入到 TableB 中,然后将新的一行插入到 TableA 中。然而,我创建的语句似乎无法在 PHP 中准备好,尽管实际查询在 SQL 中运行良好。有人可以指导我如何解决这个问题吗?
$insert = "INSERT INTO DATABASE.TableB(ColumnB2, ColumnB3, ColumnB4, ColumnB5)
SELECT DATE(MAX(ColumnA2)), MIN(ColumnA3), MAX(ColumnA3), AVG(ColumnA3)
FROM DATABASE.TableA
;
DELETE
FROM DATABASE.TableA
;
ALTER TABLE DATABASE.TableA AUTO_INCREMENT = 1
;
INSERT INTO DATABASE.Current_Level(ColumnA2, ColumnA3)
VALUES(CURRENT_TIMESTAMP, ?)
;";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $insert))
{
echo "Error";
}
else
{
mysqli_stmt_bind_param($stmt, "d", $ColumnA2);
mysqli_stmt_execute($stmt);
}
【问题讨论】:
-
错误信息??
-
echo "Error";几乎没用 但是echo $conn->error;可能会给你一些你可以使用的东西 -
我刚刚检查了我的错误日志,它没有返回任何错误。我认为这是我编写它的方式的逻辑错误,但我不确定究竟是什么让它错了。对此感到抱歉
-
要在实时环境中从 PHP 中获取错误,请将这 4 行添加到要调试
ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);的任何基于MYSQLI_的脚本的顶部。这将强制任何MYSQLI_错误生成一个您可以在浏览器上看到的异常以及正常的 PHP 错误。 -
不管怎样,你有答案,下面
标签: php sql mysqli prepared-statement