繁体   English   中英

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

[英]MySQL PDO, selecting a single row from a result-set

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

所以,如果我做了类似的事情

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");

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

是的,你可以使用LIMIT

SELECT * FROM table WHERE number = 10 LIMIT 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM