1

我有以下代码,我打算在 php 部分从 mysql 返回文件路径名,然后在 html 中显示图像。但我只在浏览器中显示了一个小缩略图。顺便说一句,“用户名”和“图像文件”是“图像”表中唯一的列。

我确信这只是一些愚蠢的错误,但我需要一双新的眼睛来发现它。提前非常感谢。PS我知道我真的应该转移到mysqli,但我会在以后简单地翻译。干杯

<?php


session_start();
$username = $_SESSION['username'];

$con = mysql_connect('localhost','root','password');
mysql_select_db("db");


$profileimage = mysql_query("

SELECT * FROM images WHERE username='$username'

");

$row = mysql_fetch_array($profileimage);
$showimage = $row['imagefile'];

?>

<html>

<img src = "$showimage">


</html>
4

3 回答 3

7

首先,HTML 不知道是什么"$showimage"意思。那是一个 PHP 变量,HTML 无法解释它。您需要输出它,以便 HTML 可以处理结果。

因此,如果值为$showimageis "/images/foo.jpg",您将需要类似以下内容:

<img src="<?php echo $showimage; ?>" />

这会给你

<img src="/images/foo.jpg" />

现在,切换到 mysqli 就像替换mysqlmysqli. 没有比这更复杂的了。因为看起来你才刚刚开始学习这些东西,所以当你去改进的时候,学习一下 PDO。

于 2012-12-01T19:45:23.293 回答
2

这是您当前的真实代码还是简化版本?如果这是您的真实代码,问题出在 PHP 变量未知的 HTML 部分,您应该这样做:

<html>
<img src ="<?php echo $showimage; ?>" />
</html>
于 2012-12-01T19:44:13.027 回答
-1
<?php  
    $db = mysqli_connect("localhost:3306","root","","databasename"); 
    $sql = "SELECT * FROM table_name ";
    $sth = $db->query($sql);
    while($result=mysqli_fetch_array($sth)){    
        echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'" height="100" width="100"/>';
    }
?>

为我工作

于 2017-09-27T15:55:14.127 回答