【发布时间】:2011-11-24 01:00:05
【问题描述】:
下面的代码只返回一个结果。其余五个结果为空白。如何返回所有行?
foreach($dates as $date){
if($stmt->prepare("SELECT event FROM calendar WHERE date = ?")) {
$stmt->bind_param('i',$date);
$stmt->execute();
$stmt->bind_result($event);
$stmt->store_result();
while($stmt->fetch()) {
echo $event;
}
$stmt->close();
}
}
【问题讨论】:
-
您的 SQL 查询中似乎缺少一个 "
-
您应该将
prepare语句移到foreach循环之前。 -
虽然这听起来很愚蠢,但您是否检查过 $dates 数组中有超过 1 个项目,如果是这样,其他 4 个项目实际上匹配一个条目? (检查 $stmt->fetch() 的大小)
-
数组有五个元素,它们确实匹配。我是否使用准备好的语句以正确的方式执行此操作?
-
@Mr.Jones:不要编辑您的问题以反映答案。当人们在未来阅读这篇文章时,它就不再有意义了。
标签: php mysql prepared-statement