PHP PDO 在数组内插入图像的目录路径

标签 php mysql pdo

我正在尝试使用 PHP-PDO 将图像的目录路径放入 MySQL 数据库中,但我不知道如何将路径数组放入数据库中。

我的表 SQL (tbl_images): enter image description here

我的PHP多次上传图像:

    if(isset($_POST['submit'])){

    # INFO IMAGEM
    $file       = $_FILES['img'];
    $numFile    = count(array_filter($file['name']));

    # PASTA
    $folder     = 'uploads';

    # REQUISITOS
    $permite    = array('image/jpeg', 'image/png');
    $maxSize    = 1024 * 1024 * 5;

    # MENSAGENS
    $msg        = array();
    $errorMsg   = array(
        1 => 'O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.',
        2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML',
        3 => 'o upload do arquivo foi feito parcialmente',
        4 => 'Não foi feito o upload do arquivo'
    );

    if($numFile <= 0)
        echo 'Selecione uma Imagem!';
    else{
        for($i = 0; $i < $numFile; $i++){
            $name   = $file['name'][$i];
            $type   = $file['type'][$i];
            $size   = $file['size'][$i];
            $error  = $file['error'][$i];
            $tmp    = $file['tmp_name'][$i];

            $extensao = @end(explode('.', $name));
            $novoNome = rand().".$extensao";

            if($error != 0)
                $msg[] = "<b>$name :</b> ".$errorMsg[$error];
            else if(!in_array($type, $permite))
                $msg[] = "<b>$name :</b> Erro imagem não suportada!";
            else if($size > $maxSize)
                $msg[] = "<b>$name :</b> Erro imagem ultrapassa o limite de 5MB";
            else{

                if(move_uploaded_file($tmp, $folder.'/'.$novoNome)):
                    $msg[] = "<b>$name :</b> Upload Realizado com Sucesso!";
                    $imgpath[] = $folder.'/'.$novoNome;
                    else:
                        $msg[] = "<b>$name :</b> Desculpe! Ocorreu um erro...";
                endif;
            }

            foreach($msg as $pop)
                echo $pop.'<br>';
        }
    }
}

正如您在 $imgpath[] 中看到的,是我的目录路径图像,现在我正在尝试创建一个查询以将此目录路径作为数组放入数据库中,我该怎么做? (抱歉我的英语不好)。

最佳答案

您可以循环遍历数组并插入到数据库中。

    $sql = "insert into tbl_images (img_name) values ";
    foreach ($imgpath as $path) {
        $sql .= " ('$path'),";
     } 
     $sql = substr ($sql,0,strlen ($sql)-1);
     $result = $db->exec($sql); 

关于PHP PDO 在数组内插入图像的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34366954/

相关文章:

从 mysqldump 恢复的 Mysql 用户权限

php - PDO 查询返回空

php - JQuery UI 自动完成 JSON php 输出格式

mysql - 错误: select command denied to user '<userid>' @'<ip-address>' for table '<table-name>'

php - 从 PHP 中的平面路径数组构建目录树

mysql - 关于 INSERT IGNORE mysql 的帮助

php artisan migrate throwing [PDO Exception] 找不到驱动程序 - 使用 Laravel

php - PDO:使用 foreach 和 $_POST 定义参数

php - 如何在不转义为 HTML 的情况下在 PHP 中正确编写 <img src>

php - 当属性名称是 * 时,如何解析 PHP 对象?