Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 而fetch()下的循环只打印第一行_Php_Mysqli_While Loop - Fatal编程技术网

Php 而fetch()下的循环只打印第一行

Php 而fetch()下的循环只打印第一行,php,mysqli,while-loop,Php,Mysqli,While Loop,现在在HTML if (isset($_GET['srId'])) { $srId = $_GET['srId']; } $getShowroomDetails = $db->prepare('SELECT a.id, a.roomName, a.roomImage, a.roomDetails, b.id, b.showroom, b.activityName, b.activityPlace, b.activityDate,b.activityDetails,b.activi

现在在
HTML

if (isset($_GET['srId'])) {
    $srId = $_GET['srId'];
}

$getShowroomDetails = $db->prepare('SELECT
a.id, a.roomName, a.roomImage, a.roomDetails,
b.id, b.showroom, b.activityName, b.activityPlace, b.activityDate,b.activityDetails,b.activityImage
FROM movies_showroom AS a
INNER JOIN movies_showroom_details AS b ON (a.id = b.showroom)
WHERE a.id=?
');
$getShowroomDetails->bind_param('i', $srId);

if ($getShowroomDetails->execute()) {
    mysqli_stmt_bind_result($getShowroomDetails, $id, $roomName, $roomImage, $roomDetails, $showroom, $sid, $activityName, $activityPlace, $activityDate, $activityDetails, $activityImage);
    $getShowroomDetails->fetch();
}
    ?>

下面是
while loop
仅读取第一行?

如果我没有弄错,您正在查找mysqli\u fetch\u all()

有关更多详细信息,请参阅

注意你的记忆力。如果您假设一个巨大的结果,更好的(内存影响更小)方法是在模板的循环中处理它。这可能与您的情况有所不同,具体取决于您的设置:)


نبذه عن القاعة

由于需要打印所有记录,您可以使用mysqli\u fetch\u数组:

<div>
    <h4 class="text-bold">نبذه عن القاعة</h4>
    <?php 
        while (mysqli_stmt_fetch($getShowroomDetails)) {
            printf("%s %s\n", $activityName, $activityPlace);
        }
        print $roomDetails ?>
</div>
在代码中执行以下更改:

mysqli_fetch_array($result,MYSQLI_ASSOC); // Associative array

No while循环提供了查询检查的所有可能结果,那么为什么它只获取循环下的一行呢?告诉我们如何使用whlie循环就像我的问题中发布的一样,看看我是否删除了上面的
$getShowroomDetails->fetch()
while循环工作正常,但是其他三个变量当然不会显示
$roomName
$roomDetails
,…如果您想获取多行,那么“mysqli\u fetch\u assoc”会工作吗?谢谢您的回复。但我不明白你在回答中说了什么?请给出一个清楚的例子,你刚才写了什么,我做了,但仍然没有工作不知何故,我错过了阅读你的问题,对不起如果您只需要可以执行的第一个元素:$roomDetail=mysqli\u stmt\u fetch($getShowroomDetails);没有whilemysqli_fetch_array()期望参数1是mysqli_result,object givenits,因为您的查询应该分配给如下变量:
$query='your query'$getShowroomDetails=mysqli_query($con,$query)其中$con是连接对象
<div>
    <h4 class="text-bold">نبذه عن القاعة</h4>
    <?php 
        while (mysqli_stmt_fetch($getShowroomDetails)) {
            printf("%s %s\n", $activityName, $activityPlace);
        }
        print $roomDetails ?>
</div>
mysqli_fetch_array($result,MYSQLI_ASSOC); // Associative array
 while ($row = mysqli_fetch_array($getShowroomDetails,MYSQLI_ASSOC)) {
       print_r($row); // it gives all the records
      // printf("%s %s\n", $activityName, $activityPlace); // I don't know why you have used it, that's why I've commented this line
    }