14

mysqli_stmt_execute
在您如何知道何时打电话之后,我遇到了知道何时打电话以及打电话的问题

  1. mysqli_stmt_bind_result
  2. mysqli_stmt_store_result
  3. mysqli_stmt_fetch
4

2 回答 2

16

mysqli_stmt_bind_result()告诉 mysqli 当你获取一行时你想要填充哪个变量,但它还没有fetch()任何东西。在调用 fetch 之前,必须调用一次。

mysqli_stmt_store_result()设置一个可选行为,以便客户端在您fetch()第一行时下载所有行,并将整个结果集缓存在客户端(即 PHP)中。随后fetch()的调用将简单地遍历这个客户端缓存的结果集。但是设置这个选项本身也不会导致 fetch() 。此功能是完全可选的。

mysqli_stmt_fetch()返回结果集中的下一行,并将其存储在绑定变量中。对于结果集的每一行,您必须在循环中调用此函数。也就是说,直到 fetch 返回 false。

于 2013-06-13T20:13:43.000 回答
5

查询 SQL 数据库的过程包含以下步骤:

  • 将查询发送到 SQL 服务器
  • SQL 服务器解析查询并收集请求的结果集
  • 将找到的结果集数据从 SQL 服务器传输到 PHP
  • 以某种方式将数据放入 PHP 变量中,以便脚本可以使用它们

您询问的功能在此过程中具有以下作用:

  • store:立即将所有行从 MySQL 数据库转移到 PHP 的内存中;通常没有实际效果,并且无论如何都会在某个时候自动完成
  • bind:绑定变量,这样当你调用fetch()那些变量时就包含了结果数据;即告诉PHP应该将结果放入哪些变量
  • fetch:从结果集中“读取”一行并将其存储在您之前绑定的变量中;如果数据不在 PHP 的内存中,此时它将从 SQL 服务器传输
于 2013-06-13T20:13:54.037 回答