1

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

mysql_result(3,2)

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

我有一个 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 行中的姓名和姓氏),我的语法是什么?

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

4

1 回答 1

1

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

PS:你的数组使用是错误的。你不应该这样$row['name'];$row[name];。或使用fetch(PDO::FETCH_OBJ)(or 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.

于 2012-11-20T13:27:46.567 回答