2013-07-17 48 views
0
if(isset($_POST['submitted'])) 
{ 
    //mysql_connect('localhost','root','')or die(mysql_error()); 
    //mysql_select_db('ecommerce'); 
    include_once ('mysql_connect.php'); 
    if(is_uploaded_file($_FILES['image']['tmp_name'])) 
    { 
     // $image=$_FILES['image']['tmp_name']; 
     if(move_uploaded_file($_FILES['image']['tmp_name'], "uploads/".$_FILES['image']['name'])) 
     { 
      if(!empty($_POST['description'])) 
      { 
       $d=$_POST['description']; 
      } 
      else 
      { 
      $d=NULL; 
      } 
      $query="INSERT INTO uploads(file_name,file_size,file_type,description)VALUES('{$_FILES['image']['name']}',{$_FILES['image']['size']},'{$_FILES['image']['type']}',$d)" 
       or die(mysql_error()); 
      mysql_query($query); 
     } 
    } 
} 

**數據庫連接沒有錯誤。圖片也成功保存在文件夾內但沒有數據插入到mysql中。請協助......您的幫助非常感謝!無法插入任何記錄並返回錯誤:MySQL返回空結果集(即零行)

+3

你需要把'或死亡(mysql_error());'*後*請求mysql_query調用。此外,您的代碼易受SQL注入攻擊 –

+0

嘗試此操作 mysql_query($ query)或die(mysql_error()); –

+0

因爲我假設它是CHAR或VARCHAR數據庫字段,所以您可能還需要在描述變量周圍放置單引號。由於$ d也可以是NULL,因此在if語句塊中使用'$ d =「'」.. $ _ POST ['description'] ..「'」;''和$ d =「NULL 「;'在'else'塊中;我懷疑你的'$ d'字符串沒有像你認爲的那樣插入'$ query'中。如果您使用的是「。$ var_name」,則爲 – linguanerd

回答

0

也許這將有助於

$query="INSERT INTO uploads(file_name,file_size,file_type,description)VALUES('".$_FILES['image']['name']."',".$_FILES['image']['size'].",'".$_FILES['image']['type']."','".$d."')"; 
+0

。那麼不需要使用大括號將它們刪除。 –

+1

我知道你正在嘗試將你的php變量名插入你的數據庫。也許如果你連接的價值而不是。 – Sebastien

+0

Did'nt知道!謝謝 – Sebastien

-1
$query="INSERT INTO uploads(file_name,file_size,file_type,description)VALUES('{$_FILES['image']['name']}',{$_FILES['image']['size']},'{$_FILES['image']['type']}','$d')"; 
mysql_query($query) or die(mysql_error()); 

我假設你的description字段不只是整數。將單引號插入數據庫中插入的字符串。

mysql_query也被棄用。使用mysqli或pdo執行查詢。

-2
$query="INSERT INTO uploads(file_name,file_size,file_type,description)VALUES('{$_FILES['image']['name']}',{$_FILES['image']['size']},'{$_FILES['image']['type']}', '$d')" 
mysql_query($query) or die(mysql_error());;