【发布时间】:2020-03-23 01:46:21
【问题描述】:
我有一段代码如下:
$sql = "INSERT INTO tasks
(task_name, description, due_date, state, userID, importID)
VALUES (?, ?, ?, ?, ?, ?)";
$stmt = mysqli_stmt_init($conn);
mysqli_stmt_bind_param($stmt, "sssiss", $name, $description, $due, 0, $_SESSION['userID'], $id);
在浏览器中运行时,浏览器无法加载,try catch 语句也不起作用,因此我无法确定确切的错误。我有一段几乎相同的代码,可以完美运行。唯一的区别是这段代码在 for each 循环中。这和它有关系吗?
编辑: 我忘了提到所有这些都是在 if 语句中准备语句。
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: ../import.php?error=sqlinserterror");
exit();
} else {
mysqli_stmt_bind_param($stmt, "sssiss", $name, $description, $due, 0, $_SESSION['userID'], $id);
【问题讨论】:
-
我在 mysqli_bind_param 行周围添加了 try catch,在 try 中只有该行。没有发现错误,但浏览器仍然没有加载。对不起,我是 php 新手,什么是错误报告?我也确定绑定行是导致浏览器在被注释掉时加载错误的原因。
-
1.为了捕获异常,您必须为 mysqli.2 启用异常。你不应该在你的情况下捕捉到那个异常。