Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 mysqli查询无结果执行其他操作执行其他操作_Php_Mysqli - Fatal编程技术网

Php mysqli查询无结果执行其他操作执行其他操作

Php mysqli查询无结果执行其他操作执行其他操作,php,mysqli,Php,Mysqli,我正在运行mysqli查询 这是我的密码 <?php $SM_pro_info="SELECT * FROM special_marketing_ads ORDER BY id desc LIMIT 4"; $QSM_pro_info = $db->query($SM_pro_info)or die($db->error); if($QSM_pro_info->num_rows > 0){ while($SM_pro=

我正在运行mysqli查询

这是我的密码

<?php
    $SM_pro_info="SELECT * FROM special_marketing_ads ORDER BY id desc LIMIT 4";
    $QSM_pro_info = $db->query($SM_pro_info)or die($db->error);
        if($QSM_pro_info->num_rows > 0){
        while($SM_pro=$QSM_pro_info->fetch_object()){



    ?>
      <table width="208" border="0">
        <tr>
          <td width="129" height="35" align="right"><span style="color:#361800; font-size:14px; font-weight:bold;"><?php echo $SM_pro->pro_title; ?></span></td>
          <td width="69" rowspan="2" align="center"><a rel="lightbox" href="includes/Cpanel/projectImages//images.jpg" ><img src="<?php echo $SM_pro->image_1; ?>" alt="" width="60" height="60" border="0" /></a></td>
        </tr>
        <tr align="right">
          <td><span style="color:#361800; font-size:14px; font-weight:bold;">الغرض</span> : <span style="color:#da6e19; font-size:15px; font-weight:bold;"><?php echo $SM_pro->pro_purpose; ?></span></td>
        </tr>
      </table>
      <?php
        }
        }else{
            for ($x=0; $x<(4 - $QSM_pro_info->num_rows); $x++) {
            echo 'Your ad here'; // or, whatever your ad text is
            }
            }
      ?>
    </div>

الغرض : 
现在我想做的就是,如果mysqli有任何结果,如果没有结果,我会回应它 回显一张图片,在此处添加您的广告。关键是我有4个广告,所以如果mysqli行中有1个广告,而其他的是空的,那么我想让它回应这一个广告,其他3个广告应该是这个图片,在这里添加你的广告。 请提供相关帮助?

更改此选项:

if($QSM_pro_info->num_rows ==1){
为此:

if ($QSM_pro_info->num_rows > 0) {
问题是您只检查了一个结果。你想要的不是零个结果

现在,在显示“你的广告在这里”的部分,尝试以下方法:

for ($x=0; $x<(4 - $QSM_pro_info->num_rows); $x++) {
    echo 'Your ad here'; // or, whatever your ad text is
}
用于($x=0;$xnum\u行)$x++){
回显“你的广告在这里”;//或者,不管你的广告文本是什么
}

还要确保在HTML中使用变量数据,以避免破坏的HTML(以及潜在的XSS攻击,具体取决于您的数据源)。

hay Brad我运行了它,但我的问题是,我在mysql中限制了4个,我需要此文本“将您的广告放在这里”如果表中没有结果,如果有两行,则显示4次,这两行应与这两行相呼应,另外两行应仍有此文本“在此处添加您的广告”。对此有任何帮助吗?啊,我想我现在明白了。你想有4个广告显示,如果有空槽,填补那些与“你的广告在这里”?每个插槽一个空?Brad感谢它工作正常,但当我在mysqli中插入任何行时,仍然缺少一些内容。它再次隐藏“在此处添加您的广告”这是不对的,它应该变成两个文本“在此处添加您的广告”我更新了上面的代码,让您看看我做错了什么。thanks@YousefAltaf,我不明白。您的查询返回了多少行?你希望展示多少?你希望显示多少“你的广告在这里”广告?现在我有两行在我的表格中,他们来了,并显示好,所以我希望有其他两个作为“广告在这里”,现在我得到的是两行,我有它在我的表中,没有别的