所以我这样做是为了找回我的整个表:如何在MySQL查询结果中查找特定行?
$result = mysql_query('SELECT * FROM mytable');
然后,在我的PHP页面的另一部分,我做的另一个查询(特定行):
$result2 = mysql_query('SELECT * FROM mytable WHERE id = ' . $id);
$row = mysql_fetch_array($result2);
所以,我正在执行两个querys。但是,我真的不必这么做,是吗?我的意思是,我在第二个查询中检索的行已存在于$result
(我的第一个查询的结果)中,因为它包含了我的整个表。
因此,我不想做第二个查询,我想直接从$result
中提取所需的行(同时保持$result
本身的机制)。
我该怎么做?
好了,这是怎么了,我实现它:
function getRowById ($result, $id)
{
while ($row = mysql_fetch_array($result)) {
if ($row['id'] == $id) {
mysql_data_seek($result, 0);
return $row;
}
}
}
似乎为我工作。我用我的新代码更新了我的问题。而不是打破,我返回行。没关系,对吧? – 2012-04-15 17:08:12
是的,做同样的事情(如果你使用它在一个功能没有任何进一步的循环) – 2012-04-15 17:12:57
是的,这应该工作得很好 – 2012-04-15 17:35:46