mysqli bind_result没有必要吗?

时间:2016-02-17 17:01:58

标签: php mysqli

在另一个主题中,我的代码出了问题,一位朋友告诉我,我不能将bind_result()与PHP数据对象一起使用。我总是做这样的事情:

$stmt = $mysqli->prepare("select id, user from posts limit 10");
$stmt->execute();
$stmt->bind_result($id, $user); //no?


while($stmt->fetch()) {
 echo "$id - $user <br>";
}

$stmt->close();

是不是错了?我该如何获取mysqli数据? 我没有找到关于这个的任何答案,只是关于PDO连接...

谢谢你的朋友们!

1 个答案:

答案 0 :(得分:1)

我认为你准备语句或使用参数没有任何问题,但我会给你建议使用参数(?)查询。这里有少数理由可以指示:

  • 参数化查询的主要优点是查询可以 每次运行时都不需要做好准备。这是一个很好的例子 在基于详细信息刷新时滚动主记录 新纪录。在这种情况下,您基本上运行相同的 重复查询,在WHERE子句中使用不同的值。如果你 使用常规查询执行此操作,您将必须准备每个查询 时间。如果使用参数化查询,则准备一次查询。 然后,您可以更改参数,并执行多个语句 根据需要,无需再次准备查询。

  • 对于大多数Delphi查询组件,更改SQL需要使用 重新解析它,并为参数重新分配空间。当你 使用参数化查询,更改参数并不意味着 更改SQL,从而不重新解析SQL,节省时间。

  • 在这种情况下,参数化查询的速度可以快两倍。