没有while循环获取mysql数据以降低速度?

时间:2011-10-25 05:26:00

标签: php mysql

如果我只有一行我正在通过

$sql = mysql_query("SELECT id,user,comments FROM user WHERE id='15' AND user = '15'");

有没有办法从这一行获取注释而不经过while循环:

while($row = mysql_fetch_array($sql)){
$comments = $row['comments'];
}

除了使用while循环之外还有类似的东西吗?如果我的数据有数千到数百万的数据,那么while循环需要很长时间吗?这是一种更合理的方式来定位某一行并降低其速度吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

如果您只返回一行,则只获取一次。

if ($row = mysql_fetch_array($result))
{
  $comments = $row['comments'];
}

答案 1 :(得分:1)

$sql = mysql_query("
SELECT id,user,comments 
FROM user 
WHERE id='15' 
AND user = '15' 
LIMIT 1");

LIMIT 1将在第一个结果

后停止查询

答案 2 :(得分:0)

当结果集中有多行时,那么只需要在循环中执行它来获取单行,不需要将结果集放在循环中。

你可以这样做..

if(mysql_num_rows($result) == 1){
   if($row = mysql_fetch_array($result)){
       $comments = $row['comments']; 
   }
}