2014-01-10 68 views
0

我在做什麼錯誤,除了不會將文件名插入到數據庫中之外,一切都正常。它確實通過了一切,但它並沒有做我知道它與插入有關的文件。mysql php上傳文件插入記錄到數據庫

這裏是我的插入

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "file_upload")) { 
    $insertSQL = sprintf("INSERT INTO products_tbl (`first`, image , pro_name, pro_desc,  price) VALUES (%s, %s, %s, %s, %s)", 
        GetSQLValueString($_POST['first'], "text"), 
        GetSQLValueString($_POST['image'], "text"), 
        GetSQLValueString($_POST['pro_name'], "text"), 
        GetSQLValueString($_POST['pro_desc'], "text"), 
        GetSQLValueString($_POST['price'], "text")); 

代碼這是我爲我的表單代碼

<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" id="file_upload"> 
     <table width="624"> 
     <tr valign="baseline"> 
      <td align="right">First:</td> 
      <td><input type="text" name="first" value="" size="50" /></td> 
     </tr> 
     <tr valign="baseline"> 
      <td align="right"><label>Select File: </label></td> 
      <td><div class='input file'> 

       <input type='file' name='file[]' id='file[]'/> 
       <a href='#' class='add_another_file_input hide'> 
        <img src='../img/add.png' alt='Add Icon' /> 
       </a> 
      </div></td> 
     </tr> 
     <tr valign="baseline"> 
      <td align="right">Service Name:</td> 
      <td><input name="pro_name" type="text" value="" size="50" /></td> 
     </tr> 
     <tr valign="baseline"> 
      <td align="right">Service Description:</td> 
      <td><textarea name="pro_desc" cols="50" rows="10"></textarea></td> 
     </tr> 
     <tr valign="baseline"> 
      <td align="right">Price:</td> 
      <td><input type="text" name="price" value="" size="32" /></td> 
     </tr> 
     <tr valign="baseline"> 
      <td align="right">&nbsp;</td> 
      <td><div class='input buttons'> 
       <input name='upload' type='submit' id='upload' value="Upload"></button> 
      </div></td> 
     </tr> 
     </table> 
     <input type="hidden" name="MM_insert" value="file_upload" /> 
     <?php //pr($upload); ?> 

一切正常,只是它不插入文件名到數據庫中。

回答

0

你缺少你的字符串引號。

$insertSQL = sprintf("INSERT INTO products_tbl (`first`, image , pro_name, pro_desc,  price) 
VALUES (%s, %s, %s, %s, %s)", 

應該是:

$insertSQL = sprintf("INSERT INTO products_tbl (`first`, image , pro_name, pro_desc,  price) 
VALUES ('%s', '%s', '%s', '%s', '%s')", 
+0

一切都不會得到,除了文件[]發送到數據庫。我希望將文件[]名稱發送到'圖像'所在的數據庫。代碼做了我需要的一切,它將信息插入數據庫,除了'image',它是文件[],它還將圖像放到我指定的文件夾中並正確上傳圖像。它只是不會將文件名發送到數據庫。 – user2218097