php编写的语句。执行后绑定是否正确?

php编写的语句。执行后绑定是否正确?,php,sql,prepared-statement,Php,Sql,Prepared Statement,关于php中的“准备好的语句, 我在php的官方文档中发现了这段我不理解的代码 /* execute statement */ $stmt->execute(); /* bind result variables */ $stmt->bind_result($name, $code); 我总是先看到“绑定”,然后是“执行” 有人能告诉我为什么在这种情况下,是另一种方式吗 谢谢。绑定“参数”和绑定“结果”是两件不同的事情 您必须在执行之前绑定参数,因为参数将在执行期间使用 然而,在

关于php中的“准备好的语句,
我在php的官方文档中发现了这段我不理解的代码

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

/* bind result variables */
$stmt->bind_result($name, $code);
我总是先看到“绑定”,然后是“执行”

有人能告诉我为什么在这种情况下,是另一种方式吗

谢谢。

绑定“参数”和绑定“结果”是两件不同的事情

您必须在执行之前绑定参数,因为参数将在执行期间使用

然而,在执行后,$stmt对象中有结果,如果要使用结果中的列,可以将结果绑定到变量

以下是步骤:

  • 将参数绑定到$stmt对象

    $stmt->bind_参数(…)

  • 执行准备好的语句

    $stmt->execute()

  • 将结果中的列绑定到变量

    $stmt->bind_结果(…)


  • 不需要。在执行语句之前需要绑定参数。在执行之前绑定参数,之后绑定结果。谢谢@Barmar和其他人。所以我猜“mysqli_stmt_bind_result”是为了与“mysqli_stmt_fetch”一起使用而设计的。是的,它就是这样工作的。