【问题标题】:PHP fetch all results from table, not not fetch the same ID over and over?PHP从表中获取所有结果,而不是一遍又一遍地获取相同的ID?
【发布时间】:2013-06-01 10:51:11
【问题描述】:

数据库中的结果:

TID - message
1 - hi
1 - bye
2 - hi 
2 - hi
2 - bye

声明:

$new = $pdo->prepare("SELECT * FROM mybb_posts ORDER BY pid ASC LIMIT 1");

我不想获取相同的 ID 两次,只获取一次。

所以它会获取:

1 - hi2 - hi

我该怎么做?

【问题讨论】:

  • 在从 PHP 调用查询之前,您需要在 mysql 客户端中运行查询

标签: php mysql pdo fetch


【解决方案1】:

我想这可行:

$new = $pdo->prepare("SELECT * FROM mybb_posts GROUP BY pid ORDER BY pid ASC");

在 phpMyAdmin 中测试时返回:

PID - message
1   - hi
2   - hi

【讨论】:

    【解决方案2】:

    感谢您的评论,编辑了我的帖子:

    $new = $pdo->prepare("SELECT * FROM mybb_posts GROUP BY pid ORDER BY pid");
    

    $new = $pdo->prepare("SELECT DISTINCT(pid) FROM mybb_posts ORDER BY pid");
    

    【讨论】:

    • 这实际上不起作用。首先,DISTINCT(*) 在 MySQL 中不起作用,我必须使用 DISTINCT *。此外,如果我在测试数据库上执行它,我会得到1 - bye1 - hi2 - bye2 - hi,而主题启动者需要1 - hi2 - hi
    猜你喜欢
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多