2014-01-10 4 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

все же отправляют в базу данных, кроме файла []. Я хотел бы, чтобы имя файла [] было отправлено в базу данных, где находится «образ». код делает все, что мне нужно, он вставляет информацию в db, кроме «image», который является файлом [], и также помещает изображение в указанную папку и правильно загружает изображение. Он просто не отправляет имя файла в базу данных. – user2218097

Смежные вопросы