2017-09-21 106 views
1

我創建了一個客戶管理系統,我已經添加了一個圖像到我的數據庫,但現在我想要的是在我的編輯頁面上檢索這些圖像,但我的代碼不工作因爲我在這個領域的新領域,我會犯錯。 請在這種情況下幫助我。無法從mysql中檢索圖像db

沒有錯誤顯示,但圖像沒有出現。

謝謝!

<?php 
require_once('includes\database.php'); 
?> 

<?php 
$id = $_GET['id']; 

$query = "SELECT * FROM customer 
       INNER JOIN customer_address 
       ON customer.id=customer_address.customer 
       WHERE customer.id=$id"; 
$mysqli->query($query); 

if ($result = $mysqli->query($query)) { 
    while ($row = $result->fetch_assoc()) { 
     $name = $row['name']; 
     $email = $row['email']; 
     $phone = $row['phone']; 
     $password = $row['password']; 
     $image = $row['image']; 
     $address = $row['address']; 
     $Country = $row['Country']; 
     $City = $row['City']; 
     $Zip_code = $row['Zip_code']; 
    } 

    $result->close(); 
} else { 

    echo "error"; 
} 
?> 

<?php 
if ($_POST) { 

    $id = $_GET['id']; 

    $name = mysqli_real_escape_string($mysqli, $_POST['name']); 
    $email = mysqli_real_escape_string($mysqli, $_POST['email']); 
    $phone = mysqli_real_escape_string($mysqli, $_POST['phone']); 
    $password = md5(mysqli_real_escape_string($mysqli, $_POST['password'])); 
    $image = $_FILES['image']['name']; 
    $tmp_image = $_FILES['image']['tmp_name']; 
    $address = mysqli_real_escape_string($mysqli, $_POST['address']); 
    $Country = mysqli_real_escape_string($mysqli, $_POST['Country']); 
    $City = mysqli_real_escape_string($mysqli, $_POST['City']); 
    $Zip_code = mysqli_real_escape_string($mysqli, $_POST['Zip_code']); 

    $sql = "UPDATE customer SET 
     name='$name', 
     email='$email', 
     phone='$phone', 
     password='$password', 
     image='$image' 
     WHERE id=$id"; 

    $mysqli->query($sql); 

    $sql = "UPDATE customer_address SET 
     address='$address', 
     Country='$Country', 
     City='$City', 
     Zip_code='$Zip_code' 
     WHERE customer=$id"; 

    $mysqli->query($sql) or die(); 
    $msg = "Record updated"; 
    header('url: index.php'); 

    exit; 
} 
?> 

<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>CManager | Edit Customer</title> 
     <!-- Bootstrap core CSS --> 
     <link href="css/bootstrap.min.css" rel="stylesheet"> 
     <!-- Custom styles for this template --> 
     <link href="css/jumbotron-narrow.css" rel="stylesheet"> 
    </head> 
    <body> 
     <div class="container"> 
      <div class="header"> 
       <ul class="nav nav-pills pull-right"> 
        <li class="active"><a href="index.php">Home</a></li> 
        <li><a href="add_customer.php">Add Customer</a></li> 
       </ul> 
       <h3 class="text-muted">Store CManager</h3> 
      </div> 

      <div class="row marketing"> 
       <div class="col-lg-12"> 
        <h2>Edit Info</h2> 
        <table class="table table-striped"> 

         <form method="POST"> 
          <table> 
           <tr> 
            <td>Name:</td> 
            <td><input type="text" name="name" required="true" value="<?php echo $name; ?>"></td> 
           </tr> 

           <tr> 
            <td>Email:</td> 
            <td><input type="email" name="email" required="true" value="<?php echo $email; ?>"></td> 
           </tr> 

           <tr> 
            <td>Phone:</td> 
            <td><input type="phone" name="phone" required="true" value="<?php echo $phone; ?>"></td> 
           </tr> 

           <tr> 
            <td>Password:</td> 
            <td><input type="password" name="password" required="true" value="<?php echo $password; ?>"></td> 
           </tr> 

           <tr> 
            <td>Image:</td> 
            <td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td> 
           </tr> 

           <tr><td><h2>Other Details:</h2><td></tr> 
           <tr> 
            <td>Address:</td> 
            <td><input type="text" name="address" value="<?php echo $address; ?>"></td> 
           </tr> 
           <tr> 
            <td>Country:</td> 
            <td><input type="text" name="Country" value="<?php echo $Country; ?>"></td> 
            </select> 
           </tr> 
           <tr> 
            <td>City:</td> 
            <td><input type="text" name="City" value="<?php echo $City; ?>"></td> 
            </select> 
           </tr> 
           <tr> 
            <td>Zip Code:</td> 
            <td><input type="text" name="Zip_code" value="<?php echo $Zip_code; ?>"></td> 
           </tr> 

           <tr><td><input type="submit" value="update" name="submit"></td></tr> 

          </table> 
         </form> 
        </table> 
       </div> 
      </div> 
      <div class="footer"> 
       <p>&copy; Company 2014</p> 
      </div> 
     </div> 
    </body> 
</html> 
+2

而不是將圖像存儲到數據庫中,只需將圖像名稱並上傳相同的項目目錄...... –

+0

請訪問http://bobby-tables.com並瞭解SQL注入。逃避是不夠的。 – Twinfriends

回答

1

正如你從查詢$image = $row['image'];獲取圖像的值,所以你應該使用$image而不是$row['image']$row->image

嘗試下面的代碼行,這可能會幫助你。

<td><img src="path/to/image/<?php echo $image; ?>" height="100px" height="100px"></td> 
1

試試這個

<tr><td>Image:</td><td><img src="<?php echo $image; ?>" height="100px" height="100px"></td> 

希望這會爲工作,你

0

這將是更好,如果你在數據庫表和圖片上傳的目錄文件夾保存圖像的名字,那麼你可以輕鬆做到。但在你的問題首先定義$圖像

<?php 
require_once('includes\database.php'); 

$image = ''; 
$id= $_GET['id']; 

/* your code */ 

然後更新

<td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td> 

<td><img src="<?php echo $image; ?>" height="100px" height="100px"></td> 

如果你的$圖像變量包含文件夾的完整圖像路徑和圖片上傳,然後它會工作,或者使用youruploadfolder/<?php echo $image; ?>