使用php dbo通过引用行号和列号来显示数据

时间:2012-11-20 13:12:50

标签: php mysql pdo

在mysql_ *中,您可以使用以下内容显示特定的行和列:

mysql_result(3,2)

这将显示结果集的第3行,第二列。

我有一个php pdo脚本来显示一些mysql数据:

$sth = $db->prepare("SELECT name, surname FROM people"); 
$sth->execute(); 
$row = $sth->fetch(); 
$name=$row[name];
$surname=$row[surname];

如果我有一个查询结果,上面的方法会很好。如果我有多个结果,我怎么能获取特定行和列的名称和suraname。

因此,如果我想要第11行,第0列和第11行,第1列(第11行的名称和姓氏),我的语法是什么?

一如既往地感谢您的建议。

1 个答案:

答案 0 :(得分:1)

如果您需要某些行,则应在查询中使用LIMIT来缩小返回的数据集。或者,您可以使用fetchAll(),但这会占用比所需更多的资源,因此LIMIT可以加快速度并减少资源使用。

PS:您的阵列使用错误。你应该$row['name'];而不是$row[name];。或者使用fetch(PDO::FETCH_OBJ)(或fetchObject()),然后访问此类$row->name;

这样的属性

编辑

fetchAll()返回数组,包含数字索引和列名索引。因此,访问第11行的第0列和第1列将如下所示:

$dataArray = $sth->fetchAll();
$name = $dataArray[10][0];
$surname = $dataArray[10][1];

或(哪个更好):

$name = $dataArray[10]['name'];
$surname = $dataArray[10]['surname'];

注意,行是0索引的,因此10不是11