繁体   English   中英

带有上传文件的mysql PHP将记录插入数据库

[英]mysql php with upload file insert record to database

我做错了什么,一切正常,除了不会将文件名插入数据库。 它的确传递了所有内容,但没有传递文件,我知道它与插入有关。

这是我的插入代码

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); ?>

一切正常,除了没有将文件名插入数据库中。

您在字符串周围缺少引号。

$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')",

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM