2017-07-15 182 views
-1

兄弟喜在此代碼衝擊片雷管我這個錯誤是什麼erorrPDO - 插入值,以分貝erorr SQLSTATE [HY093]

致命錯誤:未捕獲的異常「PDOException」有消息「SQLSTATE [HY093]:無效的參數號:號綁定變量的不匹配的

<?php 
    if(isset($_POST['addfile'])) 
    { 

     $filename = $_POST['file_name'];// user name 
     $filecat = $_POST['file_cat'];// user email 
     $fileinfo = $_POST['file_info'];// user email 
     $imgFile = $_FILES['file_photo']['name']; 
     $tmp_dir = $_FILES['file_photo']['tmp_name']; 
     $imgSize = $_FILES['file_photo']['size']; 
     $urlFile = $_FILES['file_url']['name']; 
     $tmp_dir = $_FILES['file_url']['tmp_name']; 
     $urlSize = $_FILES['file_url']['size']; 

     if(empty($filename)){ 
     $errMSG = "Please Enter file name."; 
     } 
     else if(empty($fileinfo)){ 
     $errMSG = "Please Enter file info."; 
     } 
     else if(empty($urlFile)){ 
     $errMSG = "Please Select File."; 
     } 
     else if(empty($imgFile)){ 
     $errMSG = "Please Select Image File."; 
     } 
     else 
     { 
     $upload_dir = 'share-admin/images/'; // upload directory 

     $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension 

     // valid image extensions 
     $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions 

     // rename uploading image 
     $imgFile1 = rand(1000,1000000).".".$imgExt; 

     // allow valid image file formats 
     if(in_array($imgExt, $valid_extensions)){ 
     // Check file size '5MB' 
     if($imgSize < 5000000) { 
     move_uploaded_file($tmp_dir,$upload_dir.$imgFile1); 
     } 
     else{ 
     $errMSG = "Sorry, your file is too large."; 
     } 
     } 
     else{ 
     $errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
     } 

     $upload_dir = 'share-admin/files/'; // upload directory 

     $urlExt1 = strtolower(pathinfo($urlFile,PATHINFO_EXTENSION)); // get image extension 

     // valid image extensions 
     $valid_extensions = array('zip', 'rar', 'pdf', 'doc'); // valid extensions 

     // rename uploading image 
     $urlFile1 = rand(1000,1000000).".".$urlExt1; 

     // allow valid image file formats 
     if(in_array($urlExt1, $valid_extensions)){ 
     // Check file size '5MB' 
     if($urlSize < 5000000) { 
     move_uploaded_file($tmp_dir,$upload_dir.$urlFile1); 
     } 
     else{ 
     $errMSG = "Sorry, your file is too large."; 
     } 
     } 
     else{ 
     $errMSG = "Sorry, only zip, rar, pdf & doc files are allowed."; 
     } 
     } 


     // if no error occured, continue .... 
     if(!isset($errMSG)) 
     { 
      $db=getDB(); 
     $stmt = $db->prepare('INSERT INTO share_files(file_name,file_photo,file_url,file_date,file_cat,file_size,file_info) 
     VALUES(:filename,:imgFile1,:urlFile1,NOW(),:filecat,:$filesize,:fileinfo)'); 
     $stmt->bindParam(':filename',$filename); 
     $stmt->bindParam(':filecat',$filecat); 
     $stmt->bindParam(':fileinfo',$fileinfo); 
     $stmt->bindParam(':imgFile1',$imgFile1); 
     $stmt->bindParam(':urlFile1',$urlFile1); 
     $stmt->bindParam(':$filesize',$urlSize); 


     if($stmt->execute()) 
     { 
     $successMSG = "new record succesfully inserted ..."; 
     header("refresh:5;addproject.php"); // redirects image view page after 5 seconds. 
     } 
     else 
     { 
     $errMSG = "error while inserting...."; 
     } 
     } 
    } 

?> 
+1

'$'不是指定佔位符的有效字符。 – ccKep

回答

0

許多錯誤通常表明有在INSERT語句中的錯誤 - 字段數不匹配要插入值的數量。

有些東西對於INSERT語句中使用的$ filesize參數看起來不正確。不確定這是否正確的語法。 $ filesize在你的例子中沒有顯示的代碼中有其他值嗎?

相關問題