如何查找使用stmt-> prepare()时查询返回的行数;/stmt-> execute();
在我下面的例子中,如果我没有得到任何结果,我想向用户显示一条好消息返回stmt-> execute()的总数
任何想法如何实现这一点?
感谢
编辑: 由@zerkms说,有一个解决方案,但是,我希望的是不缓冲整个结果的语句句柄设置一个解决方案...
....
$selected_disc = array(1=>'disc1', 2=>'disc2', 3=>'disc3');
// show tracks for each disc in album
$sql = 'SELECT track_id, name FROM album WHERE album_id = ?';
foreach ($selected_disc as $key => $disc) {
$stmt->prepare($sql);
$stmt->bind_param('i', $key);
$ok = $stmt->execute();
$stmt->bind_result($trackid, $name);
if(VALUES FOUND, SHOW !) {
while ($stmt->fetch()) {
echo $t_name;
}
} else {
echo 'Nothing to display... blablabla';
}
$stmt->free_result(); // free the database resources for other queries
}
...
我读过关于这种方法......但是,我希望有一个解决方案,它不会缓冲语句句柄中的整个结果集...我发布我的问题的原因。如果没有其他方法,我想我将没有选择缓冲结果集... – Marco
@Marco:1)为什么你没有在问题中指定????? 2)如果您在问题中发布的代码中使用它,它不起作用吗? – zerkms
@Marco ..但缓冲有什么问题?如果他们在那里,你会展示他们。如果什么都没有,那么没有什么可以缓冲的。 –