在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行的名称和姓氏),我的语法是什么?
一如既往地感谢您的建议。
答案 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
。