2014-10-05 99 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']); 
       }