我正在尝试从数据库(票证表)中获取一些行并显示在我的网站上,我创建了两个函数,一个用于运行命名的任何查询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
在循环中总是相同的值,并且会继续下去。
因此,当然,您必须在循环之外运行一次查询。
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消