【发布时间】:2011-08-23 05:17:42
【问题描述】:
使用 stmt->prepare(); 时如何找出查询返回的行数; /stmt->执行();
在下面的示例中,如果我没有得到任何结果,我想向用户显示一条好消息
任何想法如何实现这一目标?
谢谢
已编辑: 正如@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
}
...
【问题讨论】: