2016-05-17 272 views
1

我試圖插入屬於員工資料的圖像。從數據庫插入圖像(BLOB)Echo

我的代碼:

<?php 
    $sql = "SELECT * FROM employeeTbl where department='aarhus';"; 
    $rows=$conn->query($sql); 
    foreach ($rows as $row){ 
     echo '<div class="col-xs-6 col-sm-3" style="min-height:225px;overflow:hidden; margin-top:30px">; 
?> 

<img src="getimage.php?aid=<?php echo $row["aid"]; ?>" /> 

<?php 
     echo '<h2 style="margin-top:-10px">'.$row["name"].'</h2>'; 
     echo '<i class="fa fa-envelope" aria-hidden="true"></i>&nbsp;<a href="mailto:'.$row["mail"].'">' .$row["mail"].'</a>';  
     echo "</div>"; 
    } 
?> 

我getimage.php代碼:

<?php 
    $conn = mysql_connect("mysql34.unoeuro.com", "user", "pass"); 
    mysql_select_db("dbname") or die(mysql_error()); 

    if(isset($_GET['aid'])) { 
      $sql = "SELECT image FROM employeeTbl WHERE aid=" . $_GET['aid']; 
      $result = mysql_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysql_error()); 
      $row = mysql_fetch_array($result); 
      header('Content-Type: image/jpeg'); 
      echo $image; 
    } 
    mysql_close($conn); 
?> 

我的數據庫中的援助是自動遞增。

希望你能幫助我 - 或找到一個更好的解決方案。

+0

你不應該使用mysql_功能。自PHP 5.5起,它們已被棄用,並在PHP 7.0中被刪除。你應該使用mysqli_函數(例如mysqli_query),它需要兩個參數。 http://php.net/manual/en/mysqli.query.php 或者使用PDO :: functions –

回答

0

第一步mysql不推薦使用,我建議使用mysqli函數。

關於創建圖像我建議下面的代碼:

$data = base64_decode($image); 
$im = imagecreatefromstring($data); 
if ($im !== false) { 
    header('Content-Type: image/png'); 
    imagepng($im); 
    imagedestroy($im); 
}