1

PHPには、このようなファイルアップロードスクリプトがあります

<form id="formID" method="post" action="'.$_SERVER['REQUEST_URI'].'" enctype="multipart/form-data">
<div>
  <label>'.$this->l('Upload Your Custom Pin').'</label>
  <input type="file" name="file" id="file" />
</div>
<div>
  <label>'.$this->l('Upload Your Store Image').'</label>
  <input type="file" name="store_image" id="store_image" />
</div> 
<input type="submit" name="submit" value="submit" />
</form>          



$image_name = time().$_FILES['file']['name'];
  $store_image_name = time().$_FILES['store_image']['name'];

if(isset($_POST['submit'])) {
  mysql_query('INSERT INTO `'._DB_PREFIX_.'databasename` (`id`, `custom_pin_name`,`store_image_name`) values ('', $custom_pin,$store_img_name) or die(mysql_error());
   if(move_uploaded_file($_FILES['file']['tmp_name'], $tmpName.$image_name) && ($_FILES['store_image']['tmp_name'], $tmpName.$store_image) ) {
        $this->_html .=$this->displayConfirmation($this->l('Settings updated successfully'));
      } else {
         $errors .= $this->displayError($this->l('You Have Some Errors'));
      }
 }

ここでは、2 つのファイルをアップロードしてディレクトリに移動していることがわかります。しかし、アップロードファイルを移動するためにこれを行っていると、次のようなエラーが表示されます

Parse error: syntax error, unexpected ',' in line number 18(where I have used move_uploaded_file).

しかし、このようなファイルを1つだけ使用している場合

 if(isset($_POST['submit'])) {
  mysql_query('INSERT INTO `'._DB_PREFIX_.'databasename` (`id`, `custom_pin_name`,`store_image_name`) values ('', $custom_pin,$store_img_name) or die(mysql_error());
   if(move_uploaded_file($_FILES['file']['tmp_name'], $tmpName.$image_name) ) {
        $this->_html .=$this->displayConfirmation($this->l('Settings updated successfully'));
      } else {
         $errors .= $this->displayError($this->l('You Have Some Errors'));
      }
 }

それはうまくいっています。それで、誰かがこの問題を解決する方法を親切に教えてもらえますか?

4

2 に答える 2

0

mysql_query 行を次のように変更します。

mysql_query('INSERT INTO `'._DB_PREFIX_.'databasename` (`id`, `custom_pin_name`,`store_image_name`) values ('', '$custom_pin','$store_img_name')') or die(mysql_error());

ところで、あなたの sql には SQL インジェクションがあり、 mysql_*関数を使用しないでください。mysqli または PDO を使用します。

于 2013-09-06T13:09:16.770 に答える