这是非常基本的,但我似乎无法让它工作
我有这个查询
$people = "SELECT name FROM people";
$people = mysql_query($people) or die(mysql_error());
$row_people = mysql_fetch_assoc($people);
$totalRows_people = mysql_num_rows($people);
我可以使用
回显此查询的第一个结果<?php echo $row_people['name']; ?>
我也可以创建一个循环并回显所有结果。
但我真的想根据其索引单独回应结果。
我试过这个,但它不起作用。
<?php echo $row_people['name'][2]; ?>
感谢您的帮助。
答案 0 :(得分:0)
您可以按索引对它们进行排序,然后使用循环。
$people = "SELECT name FROM people ORDER by index";
答案 1 :(得分:0)
您可以使用WHERE子句通过索引获取它们。
$people = sprintf("SELECT name FROM people WHERE index='%d'", $index);
如果要查询所有行,可以在循环时将它们存储到数组中:
$people = "SELECT name FROM people";
$people = mysql_query($people) or die(mysql_error());
$totalRows_people = mysql_num_rows($people);
$rows_people = array();
while($row_people = mysql_fetch_assoc($people))
{
$rows_people[] = $row_people;
}
您可能希望将主键添加到返回的字段中,并可能将其用作数组索引。
答案 2 :(得分:0)
您可以在结果对象上使用mysql_data_seek来搜索特定行。例如,从第2行获取名称值:
mysql_data_seek($people, 2);
$row_people = mysql_fetch_assoc($people);
echo $row_people['name'];
如果你这么做很多,那么在开始时将所有行集合在一个数组中会更容易:
$data = array();
while ($row = mysql_fetch_assoc($people)) $data[] = $row;
通过这种方式,您可以轻松地获取结果中的任何单元格:
echo $data[2]['name'];