У меня есть форма на странице с именем gallery.php
, и код выглядит следующим образом:
<form action="upload_image.php" method="POST" class="form-horizontal" enctype="multipart/form-data"> <div class="form-group"> <div class="col-md-12"> <div align="center"><a href="#" class="btn btn-default" id="image_alt"><span class="glyphicon glyphicon-ok"></span>  Seleziona immagini</a></div> <input id="image" name="files[]" type="file" multiple="multiple" required="required" style="margin-left:50%;" class="btn btn-default"> </div> </div> <div class="form-group"> <label class="col-md-4 control-label" for="btn_add_img"></label> <div class="col-md-12"> <div align="center"> <button id="btn_add_img" name="btn_add_img" class="btn btn-primary">Carica</button> </div> </div> </div> </form>
Затем у меня есть страница с именем upload_image.php со следующим кодом:
<?php session_start(); $where = dirname(__FILE__); include($where . "/config/db.php"); $categoria_img = '1'; $id_album = '1'; // Loop $_FILES to exeicute all files foreach ($_FILES as $file) { $nome_file_temporaneo = $file["tmp_name"]; $nome_file_vero = $file["name"]; $tipo_file = $file["type"]; for($i=0;$i<sizeof($tipo_file);$i++) { echo "<br>Nome:" . $nome_file_temporaneo[$i]."<br>"; $dati_file = file_get_contents($nome_file_temporaneo[$i]); $query = "INSERT INTO images (category_id,image_big,image_type,id_album) values (:categoria_img,:data,:img_type,:id_album)"; echo "<br>".$query; $stmt = $dbh->prepare($query); $stmt->bindParam(":categoria_img", $categoria_img, PDO::PARAM_INT); $stmt->bindParam(":data", $dati_file, PDO::PARAM_STR); $stmt->bindParam(":img_type", $tipo_file[$i],PDO::PARAM_STR); $stmt->bindParam(":id_album", $id_album, PDO::PARAM_INT); $stmt->execute(); } } ?>
Проблема в том, что upload_image.php
не показывает никакой ошибки .. и что-нибудь будет храниться в базе данных после передачи файла по форме на gallery.php
gallery.php..может ли кто-нибудь мне помочь?
ОБНОВИТЬ
Неустранимая ошибка: исключить исключение «PDOException» с сообщением «SQLSTATE [HY093]: недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в C: \ xampp \ htdocs \ castellazzo_theme \ PHP Version \ upload_image.php: 31 Stack trace: # 0 C: \ xampp \ htdocs \ castellazzo_theme \ PHP Version \ upload_image.php (31): PDOStatement-> execute () # 1 {main} в C: \ xampp \ htdocs \ castellazzo_theme \ PHP Version \ upload_image. php в строке 31
$stmt->bindParam(":data", $dati_file, PDO::PARAM_STR);
Должно быть
$stmt->bindParam(":data", $dati_file, PDO::PARAM_LOB);
См. Руководство
Но вы должны хранить местоположение изображения, а не хранить его Blob.