无法从mysql数据库中提取图像

时间:2014-01-26 08:09:48

标签: php mysql

我上传了一些图片文件。但我无法在页面上显示它们。现在看来是这样的: 这是上传

foreach($_FILES['photo']['tmp_name'] as $key => $tmp_name)
{
    $file_name = $key.$_FILES['photo']['name'];
    $file_size =$_FILES['photo']['size'][$key];
    $file_tmp =$_FILES['photo']['tmp_name'][$key];
    $file_type=$_FILES['photo']['type'][$key];  
    $photo= "0". $_FILES['photo']['name'][0];
    $photo2=$file_name = $key.$_FILES['photo']['name'][1];
    $photo3= $file_name = $key.$_FILES['photo']['name'][2];
}

mysql_query("insert into $table(ID,Name,Photo1,Photo2,Photo3,Text) 
            values('$id','$fullname','$photo','$photo2','$photo3','$text')");

这就是我试图展示图片的方式:

$query =  mysql_query("SELECT *FROM Creative");
        while ($f = mysql_fetch_array($query)):
    ?>
    <tr bgcolor="#c0c0c0">
        <td><?php echo '<img src="creative/"'.$f['Photo1'].'width="50" height="50" alt=""></img>'; ?></td>
        <td><?php echo '<img src="creative/"'.$f['Photo2'].'width="50" height="50" alt=""></img>'; ?></td>
        <td><?php echo '<img src="creative/"'.$f['Photo3'].'width="50" height="50" alt=""></img>'; ?></td>

    </tr> 

我做错了什么?

1 个答案:

答案 0 :(得分:0)

表达式

$photo2=$file_name = $key.$_FILES['photo']['name'][1];

错了。您的foreach会对已上传的$_FILES['photo']进行迭代。因此$_FILES['photo']['name']是其中一个文件的名称。 $_FILES['photo']['name'][1]是文件名的第二个字符。

如果你想在一行中存储三张照片,你首先必须循环(三次),收集它然后发出SQL,而不是将文件名编入索引,而不是数组。

查看file upload

相关问题