2013-07-17 50 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());;