2017-06-03 73 views
0

我有一個網站acoounts。我希望每個用戶都能上傳頭像。當我嘗試運行代碼時,出現以下錯誤: 解析錯誤:語法錯誤,/ var/www/html/upload_image中意外的''(T_ENCAPSED_AND_WHITESPACE),期待標識符(T_STRING)或變量(T_VARIABLE)或編號(T_NUM_STRING) .php on line 26使用PHP在mysql數據庫上傳圖像

如果有人可以告訴我我錯在哪裏,我會對此進行補充。謝謝。

<?php 
    session_start(); 

    $connect = mysqli_connect("localhost", "stringdot", "Ninja123") or die(mysqli_error()) ; 
    $db = mysqli_select_db($connect, "ddbase") or die(mysqli_error($connect)); 

    if(isset($_FILES['image'])){ 
     $error= array(); 
     $marime_fisier =$_FILES['image']['size']; 
     $extensia= $_FILES['image']['type']; 
     $f = explode('.',$_FILES['image']['name']); 
     $file_extension=strtolower(end($f)); 

     $extensions= array("jpeg","jpg","png"); 

     if(in_array($file_extension,$extensions)=== false){ 
     $error[]="Please upload a file with extension JGEG or PNG."; 
     } 

     if($marime_fisier > 2097152){ 
     $error[]='File size cannot exceed 2 MB'; 
     } 

     $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
     if(empty($error)==true){ 
     $sql = " UPDATE users SET avatar = '{$image}' WHERE username = $_SESSION['login_username'] "; 
     $result = mysqli_query($connect,$sql) or die ("Error : ". mysqli_error($connect)); 
     $rows = mysqli_num_rows($result); 
     if ($rows==1) { 
      echo "Success";} 
      else { 
       echo "Something went wrong!";; 
      } 
     }else 
     { 
     echo $error; 
     } 
    } 
?> 

HTML代碼:

<form class = "file_upload_form" action="upload_image.php" method="POST" enctype="multipart/form-data"> 
    <label>File: </label><input type="file" name="image" /></br> 
    <input type="submit" /> 
</form> 
+0

我認爲最好使用mysqli_real_escape_string()而不是add_slashes()。你也可能會遇到 mysql服務器配置的問題:最大數據包大小。同時爲表的列選擇足夠大的blob數據類型。 –

回答

0

只是這一個

$sql = " UPDATE users SET avatar = '$image' WHERE username =".$_SESSION['login_username'] ; 

取代你的PHP代碼行26,我相信它會工作。

+0

謝謝!工作。 – StringShot

+0

我還有一個問題...現在我的錯誤是:未知列'測試'在'where子句'....(TEST是用戶名) – StringShot

+0

沒有Problem.And使用「。」每當引號出現衝突時。 – Vaibhav