MySQL PDO,从结果集中选择一行
MySQL PDO, selecting a single row from a result-set
如果我 运行 查询有 return 多行,有没有办法可以 select 从结果中只提取一行?
所以如果我做类似的事情
SELECT * FROM table WHERE number = 10
它 return 有 33 个结果,有没有一种方法可以让我一次检查一个,而不是 return 一次检查整个结果集,或者只是 return, 比如结果集的第5行?
我读过有关可滚动游标的内容,但它们似乎不适用于 MySQL,尽管这似乎正是我正在寻找的....
我将 PDO 与 MySQL 和 PHP 一起使用。我希望这是有道理的,如果没有,我会尝试更好地解释。
编辑:这对我想要的有用。谢谢
$stmt = $dbh->prepare("SELECT * FROM $table WHERE user_points = '$target' ORDER BY tdate DESC LIMIT $count,1");
is there a way I can select just one row out of that result?
是的,你可以使用 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
如果我 运行 查询有 return 多行,有没有办法可以 select 从结果中只提取一行?
所以如果我做类似的事情
SELECT * FROM table WHERE number = 10
它 return 有 33 个结果,有没有一种方法可以让我一次检查一个,而不是 return 一次检查整个结果集,或者只是 return, 比如结果集的第5行?
我读过有关可滚动游标的内容,但它们似乎不适用于 MySQL,尽管这似乎正是我正在寻找的....
我将 PDO 与 MySQL 和 PHP 一起使用。我希望这是有道理的,如果没有,我会尝试更好地解释。
编辑:这对我想要的有用。谢谢
$stmt = $dbh->prepare("SELECT * FROM $table WHERE user_points = '$target' ORDER BY tdate DESC LIMIT $count,1");
is there a way I can select just one row out of that result?
是的,你可以使用 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