2017-09-10 18 views
0

ich meinen Kopf kratzen, weil ich kann nicht herausfinden, was unten mit meinem Code falsch .. $ avatar_path nicht in MySQL-Tabelle gespeichert ..Avatar hochladen Ausgabe

<?php 

$avatar_path = $mysqli->real_escape_string('images/'.$_FILES['avatar']['name']); 

    //check if the file type is image 
    if (preg_match("!image!",$_FILES['avatar']['type'])) { 

     //copy image to images/ folder 
     if (copy($_FILES['avatar']['tmp_name'], $avatar_path)){ 

      //set session variables to display on welcome page 
      $_SESSION['username'] = $username; 
      $_SESSION['avatar'] = $avatar_path; 

      //insert user data into database 

      $update_row = $mysqli->query("UPDATE user_data SET avatar='$avatar_path' WHERE user_id='1'") or die($mysqli->error()); 

     } 
    } 
?> 
+0

Was ist die Fehlermeldung, die Sie erhalten? – Progman

Antwort

-1

Könnten Sie das versuchen?

$update_row = $mysqli->query("UPDATE user_data SET avatar='$avatar_path' WHERE user_id=1") or die($mysqli->error()); 

(das heißt die Anführungszeichen um den ID-Wert unterdrücken) * Zitate sind nicht notwendig, um ganze Zahlen und könnte es möglicherweise verwirren, indem sie bis mysql es für eine Zeichenfolge nehmen.

+0

Das Gleiche! Ich glaube, dass mysqli Abfrage ist nicht das Problem, weil ich versuchte, Code unten und es funktionierte: '$ update_row = $ mysqli-> Abfrage (" Benutzerdaten SET UP avatar = 'bla bla bla' WHERE user_id = 1 ") oder sterben ($ mysqli-> error()); ' – Pete

+0

Hmmm .... hast du versucht, $ avatar_path zu echo? Haben Sie auch überprüft, ob Sie tatsächlich in die Regelschleife 'if' gelangen? (indem man ein Echo "Hallo" irgendwo setzt). Zumindest könnte das das Problem genau lokalisieren, also wissen wir, worauf wir achten müssen –