而/ foreach不从数据库中获取值

时间:2017-09-19 12:25:48

标签: php mysqli foreach while-loop

我试图从数据库中获取某些值但是/ foreach不起作用。

<?php
$type_id = $article->type_id;
$sql = " SELECT * FROM `interior_image_testing` WHERE `type_id` = '$type_id' ";
//echo $sql;
//$result = mysqli_query($con,$sql);
if ($result = mysqli_query($con, $sql)) {


    //echo $result;
    $obj = mysqli_fetch_array($result);


    foreach ($obj as $objs):
        ?>

        <div class="col-lg-4 col-md-4 col-sm-4 col-6 workimg">
            <img src="assets/img/<?php echo $objs['image_path']; ?> " width="100%"> <!-- needs to be changed -->
        </div> 


        <?php
    endforeach;
}
?> 

问题是,我无法从数据库中获取值。 在interior_testing表中我已type_idnamelocationprofile_picinterior_image_testing表格中,我有idimage_pathtype_id

在页面上,未获取图像。

2 个答案:

答案 0 :(得分:0)

您不能在那里使用foreach。您需要重复调​​用mysqli_fetch_array才能检索所有结果。一次调用只会一次检索一个结果行:

while ($row = mysqli_fetch_array($result)) {
    echo $row['image_path'];
}

答案 1 :(得分:0)

尝试

while($obj = mysqli_fetch_array($result)) {...}

您需要使用$ result循环,而不是在第一次查询后给出的数组。在这里你可以看到正确的用法;

http://php.net/manual/en/mysqli-result.fetch-array.php