如何选择2列不同的id
Posted
技术标签:
【中文标题】如何选择2列不同的id【英文标题】:How to select 2 columns of different id 【发布时间】:2018-02-06 08:09:38 【问题描述】:我想显示所有不同标题的栏目(课程)
我有一张名为course
的表
|---------- id -----------|------ id_user ----|----title_course---|
|.......... 1 ............|....... 5 ........|...... title1 .....|
|.......... 2 ............|.......7 .........|...... title2 .....|
|.......... 3 ............|....... 9 ........|...... title3 .....|
当我运行这段代码时
<?php
$stmt = $connect->query(" SELECT * FROM course ");
while ($row = $stmt->fetch())
?>
<div class="all" > <?php echo $row['title_course']; ?> </div>
<?php ?>
问题是这总是显示
title3
结果:
<div class="all" > title3 </div>
<div class="all" > title3 </div>
<div class="all" > title3 </div>
【问题讨论】:
列user
不太可能出现在表course
中
【参考方案1】:
PDOStatement::execute — 执行准备好的语句
PDOStatement::fetch — 从结果集中获取下一行
PDOStatement::fetchAll — 返回一个包含所有结果集行的数组
PDOStatement::fetchColumn — 从结果集的下一行返回单列
<?php
$stmt = $connect->prepare("SELECT * FROM course");
$stmt->execute();
/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $stmt->fetchAll();
foreach ($result as $res)
print_r($res);
?>
【讨论】:
【参考方案2】:正如@Sinto 提到的 使用 fetchAll() 获取所有结果,然后循环遍历结果集
【讨论】:
【参考方案3】:不工作总是显示最后的结果
<?php
$stmt = $connect->prepare(" SELECT * FROM course ");
$stmt->execute();
$mae = $stmt->fetchAll() ;
foreach ($mae as $row ) ?>
<div> print_r($row['id_user']); </div>
<div> print_r($row['id_user']); </div>
<div> print_r($row['id_user']); </div>
<?php ?>
结果
<div> 9 </div>
<div> 9 </div>
<div> 9 </div>
【讨论】:
你到底想说什么? 我想创建新闻系统(用户发布),我只想为每个用户显示他们的id 这是您对问题的回答吗?显示 3 次表示 db 上有 3 条记录。你能在foreach()
之前检查print_r($mae);
并验证查询的输出吗?以上是关于如何选择2列不同的id的主要内容,如果未能解决你的问题,请参考以下文章