MySQL PDO,从结果集中选择一行

时间:2015-04-15 22:00:50

标签: php mysql pdo

如果我运行一个返回多行的查询,有没有办法可以从该结果中只选择一行?

所以,如果我做了像

这样的事情
SELECT * FROM table WHERE number = 10

并且它返回33个结果,有没有一种方法可以一次查看这些结果而不是一次返回整个结果集,或者只返回结果集的第5行?

我已经阅读过关于可滚动游标的内容,但似乎它们并不适用于MySQL,尽管这似乎是我正在寻找的......

我正在使用MySQL和PHP的PDO。我希望这是有道理的,如果不是,我会尝试更好地解释。

编辑:这适合我想要的。感谢。

$stmt = $dbh->prepare("SELECT * FROM $table WHERE user_points = '$target' ORDER BY tdate DESC LIMIT $count,1");

2 个答案:

答案 0 :(得分:2)

  

有没有办法可以从结果中选择一行?

是的,您可以使用LIMIT

SELECT * FROM table WHERE number = 10 LIMIT 1;

答案 1 :(得分:1)

$sql= "SELECT * FROM $table WHERE user_points = '$target' ORDER BY tdate";

$stmt= $pdo -> prepare($sql);
$stmt->execute();
$data = $stmt ->fetchAll();
//You asked about getting a specific row 5
//rows begin with 0. Now $data2 contains row 5
$data2 = $data[4];
echo $data2['A_column_in_your_table'];//row 5 data