Php I';我试图从mysql数据库上传一个varchar图像,它';它不工作了。有什么建议吗?
我使用000webhost作为我的php服务器,使用phpmyadmin作为我的数据库。我的图像行看起来像Php I';我试图从mysql数据库上传一个varchar图像,它';它不工作了。有什么建议吗?,php,html,mysql,database,image,Php,Html,Mysql,Database,Image,我使用000webhost作为我的php服务器,使用phpmyadmin作为我的数据库。我的图像行看起来像 image varchar(100) utf8_unicode_ci 我想做的是某人输入一个用户名,然后它输出与该用户名关联的图像。这是我的html: <!DOCTYPE html> <html> <body> <form action="showimage.php" method="GET"> <h2>Show
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中
原因是:
$imagedata = $row[`image`];
应该是:
$imagedata = $row['image'];
反勾号在MySQL查询中非常有用。但是在PHP代码中,它通常是单引号或双引号。对于常量文本值,它没有实际区别,但是如果您想在字符串中包含变量(例如,$row[“image{$counter}”]
),则需要使用双引号。双引号是我正在使用的,也是我应该使用的。所以这不是问题所在。你永远不会在表名和列名周围使用单个QOUTE。是的,这是问题所在。请阅读dup链接。您应该对列名和表名使用反勾号,而不是单引号或双引号…什么…我在表或列名周围的单引号在哪里?'blob'其中'id'=
应该是'blob'其中'id'=