2017-05-31 77 views
0

在写上下文中使用函数的返回值在运行下面的代码它导致一个错误,我喜欢不能在列表功能

Fatal error: Can't use function return value in write context in /home/site/public_html/administrator/blog_manage.php on line 24

线24是list功能

if($manage=="add_blog") 
    { 
      $titile=mysql_real_escape_string($_POST['titile']); 
      $news=mysql_real_escape_string($_POST['news']); 
      $date=date("d F Y"); 
      $radio=mysql_real_escape_string($_POST['r']); 
      list(mysql_real_escape_string($d),mysql_real_escape_string($m),mysql_real_escape_string($y))=explode(" ",$date); 
      $sql="insert into blog (name,day,month,year,date,content) 
      values('$titile','$d','$m','$y','$date','$news')"; 
      $query=mysql_query($sql)or die(mysql_error()); 

      $memberID = -1; 
      $sql = "SELECT LAST_INSERT_ID()"; 
      $rs = mysql_query($sql); 
      if($row = mysql_fetch_array($rs)) 
      { 
      $memberID= $row['LAST_INSERT_ID()']; 
      } 

    if($radio=='image'){ 
    if(isset($_FILES['image'])) 
    { 
     $baseName = basename($_FILES['image']['name']); 
     $ext=strrchr($baseName,"."); 
     if(isset($baseName) && strlen(trim($baseName)) > 0) 
     { 
     $filenameToStore = $memberID."blog".$ext; 
     $uploadfile = "../blog/images/". $filenameToStore; 
     //echo $uploadfile; 

      if(move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) 
      { 


       $sql = "UPDATE blog 
        SET image= '$filenameToStore',url='NIL' 
        WHERE id = $memberID"; 
      mysql_query($sql) or die(" Error # 5156"); 

      } 
     } 

}

任何解决方案?

回答

1

您需要实际将变量传递给list(),否则无法将它们包装在函数中。

你需要做的:

list($d,$m,$y)=explode(" ",$date); 

您以后可以逃避它们。

此外,您需要使用mysqli或PDO,mysql_ *函数已被弃用。

+0

以后逃脱它们意味着什么? –

+0

稍后在代码中做...显然你想在它们每一个上使用'mysql_real_escape_string()',所以只需要在下面的代码行执行。例如。 '$ d = mysql_real_escape_string($ d)'。 – Enstage

+0

好的,谢谢。 –