我正在为我的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
答案 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}"]
),那么你需要使用双引号。