在 mysql_* 中,您可以使用以下内容来显示特定的行和列:
mysql_result(3,2)
这将显示结果集的第 3 行,第 2 列。
我有一个 php pdo 脚本来显示一些 mysql 数据:
$sth = $db->prepare("SELECT name, surname FROM people");
$sth->execute();
$row = $sth->fetch();
$name=$row[name];
$surname=$row[surname];
如果我有一个查询结果,上面的方法会很好用。如果我有多个结果,我如何获取特定行和列的名称和姓氏。
因此,如果我想要第 11 行第 0 列和第 11 行第 1 列(第 11 行中的名字和姓氏),我的语法应该是什么?
一如既往地感谢您的建议。
最佳答案
如果您需要某些行,您应该在查询中使用 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
。
关于php - 使用php dbo通过引用行号和列号来显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473970/