2017-06-05 13 views
-1

私は自分のPHPサーバには、000webhostを、データベースには、phpmyadminを使用しています。私のイメージ行は次のように見えます私はmysqlデータベースからvarcharイメージをアップロードしようとしていますが、動作していません。助言がありますか?

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> 

誰かが私にいくつかの提案をお願いできますか?本当にありがとう! 私もこのエラーが発生します

構文解析エラー:予期しない ';'ライン上の/storage/h11/920/1783920/public_html/Complete/showimage.phpで23

+0

二重引用符は私が使用しているもので、これは私が使用するはずのものです。だからそれは問題ではない。 –

+0

テーブル名とカラム名の周りに単一のqoutesを使用することはありません。 –

+0

はい、問題です。 dupのリンクをお読みください。一重引用符や二重引用符ではなく、列名や表名にバッククォートを使用することになっています。 – aynber

答えて

0

エラー:

解析エラー:構文エラー、予期しません ';'

$imagedata = $row[`image`]; 

は次のようになります:

$imagedata = $row['image']; 

バッククォートは、MySQLに非常に有用であるため、/storage/h11/920/1783920/public_html/Complete/showimage.phpにライン23に

ですクエリ。しかし、PHPコードでは通常、一重引用符または二重引用符のいずれかです。定数のテキスト値の場合、実際の違いはありませんが、文字列内に変数(たとえば、$row["image{$counter}"])を含める場合は、二重引用符を使用する必要があります。

関連する問題