mysqli函数bind_result,store_result和fetch有什么区别?

Cel*_*tas 13 php mysqli prepared-statement

我知道什么时候打电话以及打电话什么时候会遇到问题.mysqli_stmt_execute
你怎么知道什么时候打电话

  1. mysqli_stmt_bind_result
  2. mysqli_stmt_store_result
  3. mysqli_stmt_fetch

Bil*_*win 16

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

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

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


dec*_*eze 5

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

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

您询问的函数在此过程中具有以下角色:

  • store:立即将所有行从MySQL数据库传输到PHP的内存中; 通常没有实际效果,无论如何都会自动完成
  • bind:绑定变量,这样当你调用fetch()那些包含结果数据的变量时; 即告诉PHP应将结果放入哪些变量
  • fetch:从结果集中"读取"一行并将其存储在先前绑定的变量中; 如果数据不在PHP的内存中,那么此时它将从SQL服务器传输