MySQL 准备语句语法

标签 mysql prepared-statement

我一直在为自己的生命而战,并准备好声明。我尝试过的每个网站都有不同的语法。这就是我想要实现的目标:

$stmt = $mysqli->prepare("SELECT IdNum FROM TOAWorkOrdersNew WHERE WorkDate = ? AND TechNum = ?");
$stmt2 = $mysqli->prepare("SELECT IdNum FROM CallVolume WHERE WorkDate = ? AND ANI = ?");

---loop
    ----loop

    $stmt->bind_param('ss', $IncDate, $TechNum);
$stmt->execute();
$stmt->store_result();

$WorkOrders = $stmt->num_rows;
$SubWorkOrders = $SubWorkOrders + $WorkOrders;

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


$stmt2->bind_param('ss', $IncDate, $CellNum);
$stmt2->execute();
$stmt2->store_result();


$CallCount = $stmt2->num_rows;
$SubCallCount = $SubCallCount + $CallCount;

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

    }
}

语句返回 NULL。

最佳答案

您不应在循环内调用 $stmt->close()。一旦你关闭语句,它就不再记得它是用什么准备的。

此外,您不需要每次循环都调用 $stmt->bind_param()。参数绑定(bind)到引用,因此您可以在循环之前执行一次此操作,然后只需更新循环内的变量即可。

关于MySQL 准备语句语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17534037/

相关文章:

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

java - 应该在哪里?放在PreparedStatement中?

php - 在带有 PDO 的 where 子句中使用 mysql 变量

mysql - 在 MYSQL 中使用内连接时获取总金额的问题

mysql - 在 Node/express/react 应用程序上存储管理员凭据的最佳方式

php - 如何从 EC2 实例对 RDS 实例进行 MySQL 查询?

mysql - scrapy中间件MySQL select的瓶颈

java - MySQL JDBC closeOnCompletion 对PreparedStatement没有影响

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

python - Flask SQLAlchemy - 如果提供的过滤器没有结果,则默认过滤器值