0

重複の可能性:
データベース内に保存されているすべての画像を表示する方法

構文:

テーブル構文:

create table users(id int, idimage blob);

画像を取得して表示するには?

$sql =mysql_query("SELECT idimage FROM users WHERE 1d=3");
//$resultimg = mysql_fetch_row("$sql");
while( $row = mysql_fetch_row( $sql ) ){ $IMDs[] = $row[0]; }
echo "<img src='".$IMDs[0]."'/>";

ありがとう

4

2 に答える 2

1

フィールドを使用しblobます。

MySQL には、 と呼ばれるデータ型がありblobます。それを使用して作成できます。

その方法についてのチュートリアルがあります。

イメージを DB に挿入する:

# If no error
if($_FILES['userfile']['error']==UPLOAD_ERR_OK)
{
    # Check if the file is uploaded via HTTP POST
    if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {
        $imgData = file_get_contents($_FILES['userfile']['tmp_name']);
        mysqli_connect("localhost", "$username", "$password");
        mysqli_select_db ("$dbname");
        $sql = "INSERT INTO `users` ( `idimage` ) VALUES ('{$imgData}')";
        mysqli_query($sql);
    }
}

DB からの画像の表示:

 <?php
      if(isset($_GET['id']) && is_numeric($_GET['id'])) {
           # Connect to DB
           $link = mysqli_connect("$hostname", "$username", "$password") or die("Could not connect: " . mysqli_error());
           mysqli_select_db("$database") or die(mysqli_error());

           # SQL Statement
           $sql = "SELECT `idimage` FROM `users` WHERE id=" . mysqli_real_escape_string($_GET['id']) . ";";
           $result = mysqli_query("$sql") or die("Invalid query: " . mysqli_error());

           # Set header
           header("Content-type: image/png");
           echo mysqli_result($result, 0);
      }
      else
           echo 'Please check the ID!';
 ?>

またはmysql_*を使用する代わりに、関数を使用しない方がよいでしょう。mysqli_*PDO

于 2012-11-08T04:26:36.593 に答える
1

変数 $IMDs[0] に画像のフル パスがありますか。そうでない場合は、srcタグで画像のパスを指定する必要があります

<img src="path/to/your/image" />
于 2012-11-08T04:29:24.387 に答える