我正在尝试从我的mysql数据库上传varchar图像,但它无法正常工作。有什么建议?

时间:2017-06-05 19:29:03

标签: php html mysql database image

我正在为我的php服务器使用000webhost,为我的数据库使用phpmyadmin。我的图片行看起来像

image   varchar(100)    utf8_unicode_ci 

我想要做的是有人输入用户名并输出与该用户名相关联的图像。这是我的HTML:

<!DOCTYPE html>
<html>

<body>

<form action="showimage.php" method="GET">
<h2>Show Image</h2>
        Username: <input type="text" name="username" /><br>

        <input type="submit" value="Show Image" />
    </form>

</body>
</html>

和我的php:

<!DOCTYPE html>
<html>
<body>


<?php


$host='localhost';
$user='id1783920_123456';
$pass='';
$db='id1783920_mydb';

$con=mysqli_connect($host,$user,$pass,$db);
if($con) {
//echo 'connected successfully to id1783920_mydb database<br><br>';
}

$id = mysqli_real_escape_string($_GET['id']);
$query = mysqli_query("SELECT * FROM 'blob' WHERE 'id'='$id'"); 
while($row = mysqli_fetch_assoc($query) {

$imagedata = $row[`image`];  

}

echo"$imagedata"; 
mysqli_close($con);

?>

<img src="showimage.php?username=$_GET['username']">

</body>
</html>

有人可以给我一些建议吗?非常感谢! 我也一直收到这个错误

解析错误:语法错误,意外';'在第23行的/storage/h11/920/1783920/public_html/Complete/showimage.php

1 个答案:

答案 0 :(得分:0)

错误:

解析错误:语法错误,意外&#39 ;;&#39;在第23行的/storage/h11/920/1783920/public_html/Complete/showimage.php

是因为:

$imagedata = $row[`image`];

应该是:

$imagedata = $row['image'];

反引号在MySQL查询中非常有用。但在PHP代码中,它通常是单引号或双引号。对于常量文本值,它没有什么区别,但是如果你想在字符串中包含变量(例如$row["image{$counter}"]),那么你需要使用双引号。