为了账号安全,请及时绑定邮箱和手机立即绑定

使用函数获取数据时无限重复数据库行

使用函数获取数据时无限重复数据库行

PHP
慕村225694 2021-06-15 13:08:12
我正在尝试从数据库(票证表)中获取一些行并显示在我的网站上,我创建了两个函数,一个用于运行命名的任何查询runquery,另一个用于从票证表中读取,这是我的代码:    function runquery($conn , $sql ){    $result=mysqli_query($conn , $sql) ;    if(!$result)    {        die  (mysqli_error($conn));    }    return $result ;}function get_tickets($conn){    return runquery($conn , "SELECT * FROM tickets WHERE userid=".$_SESSION['userid'] ) ;}这是我如何使用这个功能    <ul>        <?php             $data = get_tickets($conn);        while($ticket =mysqli_fetch_assoc(   $data )) {?>        <li><?php echo $ticket['id'] ; ?>-<?php echo $ticket['title'] ; ?></li>        <?php } ?>    </ul>问题是当我像这样将我的 get_tickets 函数直接放在 mysqli_fetch_assoc 中时while($ticket =mysqli_fetch_assoc(get_tickets($conn)))我陷入了无限循环,但是当我像这样在 mysqli_fetch_assoc 之外调用 get_tickets 函数时$data = get_tickets($conn);while($ticket =mysqli_fetch_assoc(   $data ))它工作正常......为什么会这样?
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

如果您将get_tickets($conn)保留在循环中,您将在每次迭代中执行查询。这意味着它$ticket在循环中总是相同的值,并且会继续下去。

因此,当然,您必须在循环之外运行一次查询。


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信