mysqli_fetch_array到php变量垃圾箱

时间:2014-10-05 21:11:15

标签: php mysql arrays

我在一个文件夹中上传了4张照片,以及mysql上的照片名称。然后我“选择”文件的名称,并将它们放在数组picArray中,如图所示。但是当我尝试回显内容时,虽然我采用了正确的名称,但似乎它们不能用作目录路径。

以下是代码:

                $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 

这意味着数组上有换行符和空格...为什么会发生这种情况?

1 个答案:

答案 0 :(得分:4)

数据库中可能存在与图片名称一起存储的新行,这是一个修复,但您应该清理数据

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