php - 准备好的语句。执行后绑定(bind)是否正确?

标签 php sql prepared-statement

关于 php 中的“准备好的语句”,
我找到了 here在 php 的官方文档中有一段我不理解的代码。

/* execute statement */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($name, $code);

我总是先看到“绑定(bind)”,然后才是“执行”。

有人能告诉我为什么在这种情况下是相反的吗?

谢谢。

最佳答案

绑定(bind)“参数”和绑定(bind)“结果”是两个不同的东西。

你必须在执行前绑定(bind)参数,因为参数将在执行期间使用。

然而,您在执行后在 $stmt 对象中得到了结果,如果您想使用结果中的列,您可以将结果绑定(bind)到变量。

步骤如下:

  1. 绑定(bind)参数到$stmt对象

    $stmt->bind_param(...)

  2. 执行准备好的语句

    $stmt->执行()

  3. 将结果中的列绑定(bind)到变量

    $stmt->bind_result(...)

关于php - 准备好的语句。执行后绑定(bind)是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53353175/

相关文章:

php - 我如何从多个表单中获取值并提交它们?

php - PHP 的特征——任何现实世界的例子/最佳实践?

php - Laravel 发送电子邮件进行日志记录而不是写入存储

SQL 编号列 - MySQL

java - 在参数化语句中使用 SQL 函数

php - 插入值: prepared statement or multiple values query?

java - 为什么这个查询返回NULL?

php 手动增加成员资格 没有

如果变量组合不存在,MySQL 插入表

sql - 高级 Laravel 查询