HTML中img标签src属性用PHP设置后不显示

我想用php获取数据库里的图片路径之后,用img标签显示出来但是并没有成功,也没有报错。
下面是php代码:
`<?php

/* 包含连接数据库文件 */
include_once("../config/conn.php");

/* 定义查询语句 */
$sql = "select URL from ImgURL";
/* 获取返回结果 */
$result = mysqli_query($conn, $sql);

/* 包含index.php文件 */
include('../index.html');`

下面是HTML部分代码:

<a href="//fecshop.appfront.fancyecommerce.com/wedding">
    <img alt="" src="<?php echo($result);?>" width="244" />
</a>

下面是数据库中的数据:
图片描述
我直接用数据库中的路径是可以显示的,但是如果我用PHP获取数据库里的路径之后为什么不显示图片呢?
求解答,谢谢!


下面是最新遇到的问题:
PHP代码已经更改了,并将查询结果储存到了数组当中,查询结果是可以成功打印出来的:

<?php
    /* 包含连接数据库文件 */
    include_once("./config/conn.php");
    
    /* 定义查询语句 */
    $sql = "select URL from ImgURL";
    /* 获取返回结果 */
    $result = mysqli_query($conn, $sql);
    $rows=array();
    
    if ($result)     
    {    
        if ($result->num_rows>0)    
        {    
            $i=0;
            while ($row = $result->fetch_array()) {    
                //print_r($rows); 
                array_push($rows,$row['URL']);
//                echo "<BR>".$rows[$i];
//                $i=$i+1;
            }//end while()    
        }else{    
            echo "<BR>查询结果为空!";       
        }//end if()    
    }else{    
        echo "<BR>查询失败!";     
    }

$rows数组打印结果如下:
图片描述
但是,页面渲染出来之后会,img标签的src为unknown,HTML代码如下:
图片描述

<a href="//fecshop.appfront.fancyecommerce.com/wedding"><img alt=""
                             src="<?php $rows[2]?>" width="244" /></a>
阅读 5.9k
8 个回答

你最后导入的是index.html


下面假设你最后导入的是正常的php文件,那么在php文件中是可以输出php代码的

试着改一下你的代码:

$result = ''; // 假设这个是结果集数组
/* 包含index.php文件  一定要引入php文件啊喂 */
include('../index.php');

下面是遍历html部分:

<?php foreach ($result as $key => $value): ?>
    <a href="//fecshop.appfront.fancyecommerce.com/wedding">
        <img alt="" src="<?php echo $value;?>" width="244" />
    </a>        
<?php endforeach ?>

在其他格式的文件中是不能输出php代码的,其他格式比如,js、html等,只有在php文件中才能输出php代码;但是php格式的文件中可以输出html,css,js代码等

1:文件可能是html文件吧
2:$result要遍历出来后再用

新手上路,请多包涵

$result应该是一个对象,你打印看一下

直接看下渲染出来的页面对应src的地方是什么。
另外echo不是函数,所以括号可以不加;5.4以上应该可以直接写<?=$result?>吧。

1.mysqli_query失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE。
2.要遍历才能获取数据,而且是你库里的所有数据。
3.echo 对象是不行的,可以使用var_dump()

已经解决了,谢谢各位的解答。是img标签中<?php ?>内的代码有问题。再次感谢各位的耐心解答!

在拍错的时候 多var_dump把结果集打出来看看 就知道了
另外建议装上xdebug设断点更方便

新手上路,请多包涵

你先把$result 打印出来看一下 是数组还是字符串还是为null
如果是 null 你可以看一下那个引入的php 是否正确
如果是 数组 请用遍历
如果是 字符串 看一下是不是图片路劲是否正确还有他的src 格式是否正确

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题