我尝试使用以下代码显示来自mySql数据库的图像:
$con =mysql_connect('localhost','root', '');
$sdb= mysql_select_db("d022cbde",$con);
$sql = "SELECT * FROM `images`";
$mq = mysql_query($sql) or die ("Error with query");
$row = mysql_fetch_array($mq) or die("Error in line 49");
$s=$row['photo'];
echo $row['photo'];
echo '<img src="'.$s.'" style="width:200px;height:200px">';
但是我没有得到图像,而是得到了这个:
有人知道答案吗?欢迎再次提供帮助。
答案 0 :(得分:0)
你的方法也很有效,因为问题:$ s是从mySQL上的Blob获取的数据。现在,我很高兴所有人都试图帮助,但我正在浏览我的数据库,因为phpmyAdmin说:
Fatal error: Allowed memory size of 335544320 bytes exhausted (tried to allocate 7057433 bytes) in /www/phpmyadmin/PMA3/libraries/auth/signon.auth.lib.php on line 151
现在我无法连接到我的数据库或者查看它或者是什么。我试图删除数据库并创建一个新数据库,但它没有帮助......你知道任何有用的东西或者在线存储图像的不同方式吗?
答案 1 :(得分:-1)
请将PDO视为更好的选择。
#Connect to db
$dbh = new PDO('mysql:host=localhost;dbname=d022cbde', 'nonrootuser', 'pleaseusepasswords');
#Run query
$sth = $dbh->prepare("SELECT photo FROM images");
$sth->execute();
#Get the results of the query into an array, there could be more than one.
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
#Loop through results showing photos.
foreach($result as $row) {
echo '<img src="'.$row['photo'].'" style="width:200px;height:200px">';
}
如果这是一个更大的项目,现在考虑使用MVC而不是回显。
此示例假定“images”表具有“photo”列,该列是图像的URL,是当前目录的完整路径或相对路径。