PHP从同一列中选择多个项目以在页面中呈现
伙计们,我对这件事有点意见 我有一个select语句,如下所示PHP从同一列中选择多个项目以在页面中呈现,php,mysql,Php,Mysql,伙计们,我对这件事有点意见 我有一个select语句,如下所示 $stmt = $conn->prepare("SELECT * FROM Product WHERE id=:id"); $stmt->bindParam('id',$id); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); if($row) {]; ?> <div> &
$stmt = $conn->prepare("SELECT * FROM Product WHERE id=:id");
$stmt->bindParam('id',$id);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row) {];
?>
<div> <?echo $row['Name']; >? </div>
<div> <?echo $row['Type']; >? </div>
$stmt1 = $conn->prepare("SELECT * FROM user WHERE Username IN ('john',
'sarah', 'james')");
$stmt1->bindParam('id',$id);
$stmt1->execute();
$row1 = $stmt1->fetch(PDO::FETCH_ASSOC);
if($row1) {];
?>
<div> <?echo $row1['username']; ?>' </div>
<? } ?> //closing for the second select statement
<? } ?> //closing for the first select statement
$stmt=$conn->prepare(“从产品中选择*,其中id=:id”);
$stmt->bindParam('id',$id);
$stmt->execute();
$row=$stmt->fetch(PDO::fetch_ASSOC);
若($行){];
?>
尝试:
而不是if($row1)使用while($row1)
如果循环只运行一次,那么只要有结果可循环,循环就会运行。尝试以下方法:
while($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) {
?>
<div><?php echo $row1['username']; ?> </div>
<?php } ?>
while($row1=$stmt1->fetch(PDO::fetch_ASSOC)){
?>
同时删除$stmt1->bindParam('id',$id);
因为if($row1)
只读取第一行,所以每次检索行时需要调用$stmt1->fetch(PDO::fetch_ASSOC)
来循环输出。为什么要使用$stmt1->bindParam('id',$id);?它在哪里绑定参数?在第二个选择中。@Mihai我有它,因为我是根据用户正在查看的内容推荐的一个项目。我真的不需要它,谢谢你发现了它。