我正在寻找一种方法从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预备语句*
答案 0 :(得分:0)
如果您从结果集中提取未知数量的列,则不能使用 tibble
。此功能对于单列或具有少量固定列数的情况很有用。
要从 bind_result()
获取结果,请使用 SELECT *
,它将返回一个 get_result()
对象,您可以对其进行迭代或获取单行。
mysqli_result
此功能在一些非常旧的 PHP 版本或针对 libmysql 客户端编译的版本上不可用