2014-10-05 39 views
3

我上傳了4張照片和一個文件夾中的照片名稱。然後我「選擇」文件的名稱,並將它們放入陣列picArray中,如圖所示。但是,當我嘗試回顯內容時,雖然我採用了正確的名稱,但它似乎不能用作目錄路徑。mysqli_fetch_array到php變量垃圾

下面是代碼:

   $con=mysqli_connect("localhost","root","mypass","fixit"); 
       $con->set_charset("utf8"); 
       $repId=$repId+1; 
       $qr = mysqli_query($con,"SELECT * FROM photos WHERE report='$repId'"); 


       $picArray = Array(); 

       while($row = mysqli_fetch_array($qr)) { 
        $picArray[] = $row['name']; 
       } 

     ?>  

      <div> 
       <img id="img1" src="uploads/<?php echo $repId ?>/<?php echo $picArray[0] ?>" /> 
       <img id="img2" src="uploads/<?php echo $repId ?>/<?php echo $picArray[1] ?>" /> 
      </div> 
      <div> 
       <img id="img3" src="uploads/<?php echo $repId ?>/<?php echo $picArray[2] ?>" /> 
       <img id="img4" src="uploads/<?php echo $repId ?>/<?php echo $picArray[3] ?>" /> 
      </div> 

我要提,就是當我:

echo $picArray[0]; 
echo $picArray[1]; 
echo $picArray[2]; 
echo $picArray[3]; 

我得到:

rafiki.png rafiki2.png 
rafiki3.pngrafiki4.png 

這意味着數組有換行符和空間...爲什麼會發生這種情況?

+0

我希望你逃避'$ repId' – bear 2014-10-05 21:21:54

+0

你的意思是逃串? $ repId對我沒有任何問題。它的工作權利。我應該逃避字符串picArray元素? – Yakoumis 2014-10-05 21:26:12

+0

除非系統已經處理它,否則在將變量輸入到查詢之前將其轉義是一種很好的做法。您不需要轉義以將picArray元素串起來。 – bear 2014-10-05 21:27:33

回答

4

有可能與保存圖片名稱在數據庫中的新線,這是一個修復,但應該清理一下你的數據

while($row = mysqli_fetch_array($qr)) { 
        $picArray[] = trim($row['name']); 
       }