gpt4 book ai didi

php - 如何从mysql查询中只获取一行

转载 作者:IT老高 更新时间:2023-10-29 00:18:51 25 4
gpt4 key购买 nike

我总是这样做

$q = "select whatIwant FROM table where id = 'myId'";
$r = mysql_query($q);
while($i = mysql_fetch_array($r){
/* iterate just one withem */
$j = $i['whatIwant'];
}
echo $j;

这通常是怎么做的? (我只是想避免不必要的循环)

最佳答案

除了正确答案之外,还有多种处理方法:

  • 如果添加LIMIT 1,结果集将只包含一行,while循环将在一次迭代后终止:

    $q = "select whatIwant FROM table where id = 'myId' LIMIT 1";
    $r = mysql_query($q);
    while($i = mysql_fetch_array($r)) {
    $j = $i['whatIwant'];
    }
    echo $j;
  • 如果你在没有循环的情况下调用mysql_fetch_array,你会得到结果集的第一行:

    $q = "select whatIwant FROM table where id = 'myId'";
    $r = mysql_query($q);
    $i = mysql_fetch_array($r);
    $j = $i['whatIwant'];
    echo $j;
  • 如果在循环体中添加break,循环将在一次迭代后终止。

    $q = "select whatIwant FROM table where id = 'myId'";
    $r = mysql_query($q);
    while($i = mysql_fetch_array($r)) {
    $j = $i['whatIwant'];
    break;
    }
    echo $j;

您还可以组合这些方法(尽管在这种情况下使用 break 并不是很优雅)。

最好的方法是使用 LIMIT 并省略 while 循环,如 @zaf shows in his answer .这使得代码更清晰,避免了数据库中不必要的操作。

关于php - 如何从mysql查询中只获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com