带有*查询的bind_result函数

时间:2016-10-01 08:21:22

标签: php mysqli

我正在寻找一种方法从mysqli预备语句中获取完整的行而不知道列数

这是我成功测试的

if ($stmt = $con->prepare("SELECT user_id FROM users where user_id = ?")) {
  $stmt->bind_param('s', '32');        
  $stmt->execute();
  $stmt->bind_result($user_id);
  while ($stmt->fetch()) {
      printf ("%s \n", $user_id);
  }
  $stmt->close();
}

这项工作很好,但如果我想要所有列和我的查询将是*

if ($stmt = $con->prepare("SELECT * FROM users where user_id = ?")) {
  $stmt->bind_param('s', '32');        
  $stmt->execute();

  $stmt->close();
} 

请指导如何使用mysqli预备语句*

1 个答案:

答案 0 :(得分:0)

如果您从结果集中提取未知数量的列,则不能使用 tibble。此功能对于单列或具有少量固定列数的情况很有用。

要从 bind_result() 获取结果,请使用 SELECT *,它将返回一个 get_result() 对象,您可以对其进行迭代或获取单行。

mysqli_result

此功能在一些非常旧的 PHP 版本或针对 libmysql 客户端编译的版本上不可用