Php Mysqli_query查看所有用户的最后一个图像

Php Mysqli_query查看所有用户的最后一个图像,php,mysql,Php,Mysql,我对mysqli_查询有问题。当最后一个用户上传图像时,所有用户都有最后一个图像 我写的这段代码: <?php $query = mysqli_query($soci->con, "SELECT soci.*, (SELECT full_path FROM soci_media WHERE id = soci.immagine_profilo) AS immagine_profilo_file FROM soci"); while($s

我对mysqli_查询有问题。当最后一个用户上传图像时,所有用户都有最后一个图像

我写的这段代码:

        <?php
        $query = mysqli_query($soci->con, "SELECT soci.*, (SELECT full_path FROM soci_media WHERE id = soci.immagine_profilo) AS immagine_profilo_file FROM soci");
        while($socio = mysqli_fetch_assoc($query)) {

            ?>
            <div class="col-sm-12 col-md-6 col-lg-4 single_socio pb-3">
                <?php if($soci->user_data['immagine_profilo_file'] == '') { ?>
                    <img src="<?php echo get_site_url(); ?>/wp-content/themes/test/images/user.png" alt="" class="default_image img-fluid" />
                <?php } else { ?>
                    <img src="<?php echo get_site_url(); ?>/uploads<?php echo $soci->user_data['immagine_profilo_file']; ?>" alt="" class="default_image img-fluid" />
                <?php } ?>
                <h2><?php echo $socio['nome']; ?> <?php echo $socio['cognome']; ?></h2>
            </div>
            <?php
        }
        ?>

/wp content/themes/test/images/user.png“alt=”“class=“default_image img fluid”/
/上传“alt=”“class=”默认图像img流体“/>

而不是使用select子句执行另一个查询(它将不起作用)。你应该加入表格。我使用了左连接,以避免在没有配置文件图像时没有值

    SELECT soci.*,soci_media.full_path AS immagine_profilo_file 
    FROM soci
    LEFT JOIN soci_media ON soci.immagine_profilo = soci_media.id
您需要按如下方式替换查询:

 $query = mysqli_query($soci->con, "SELECT soci.*,soci_media.full_path AS immagine_profilo_file FROM soci LEFT JOIN soci_media ON soci.immagine_profilo = soci_media.id");
此外,您还需要分配当前变量:

while($socio = mysqli_fetch_assoc($query)) {

    ?>
    <div class="col-sm-12 col-md-6 col-lg-4 single_socio pb-3">
        <?php if($socio['immagine_profilo_file'] == '') { ?>
            <img src="<?php echo get_site_url(); ?>/wp-content/themes/test/images/user.png" alt="" class="default_image img-fluid" />
        <?php } else { ?>
            <img src="<?php echo get_site_url(); ?>/uploads<?php echo $socio['immagine_profilo_file']; ?>" alt="" class="default_image img-fluid" />
        <?php } ?>
        <h2><?php echo $socio['nome']; ?> <?php echo $socio['cognome']; ?></h2>
    </div>
    <?php
} 
while($social=mysqli\u fetch\u assoc($query)){
?>
/wp content/themes/test/images/user.png“alt=”“class=“default_image img fluid”/
/上传“alt=”“class=”默认图像img流体“/>

您想从该查询中检索什么?问题来自您的SQL或PHP逻辑?@Chemaclass
$soci->user\u data['immagine\u profilo\u file']
显然是一个php逻辑我认为问题在于我的php逻辑,我如何解决?我想知道为什么你有
$social
$soci
变量?是打字错误?还是故意的?是故意的…如果我将所有$social更改为$soci not work就更新答案,在while循环中更正变量