2016-04-25 12 views
-2

Jemand löst mein Problem. Aktualisierungsabfrage funktioniert nicht. Fehler in der Aktualisierungsabfrage dieses Schrittes ... Array zur String-Konvertierung $ query. = "Image = '{$ image}'"; -------------------------------------------------- -------------------------------------------------- --------------------------------Array zu String Umwandlung in

if (isset($_POST['submit'])) { 

    $file = rand(1000,100000)."-".$_FILES['image']['name']; 
    $file_loc = $_FILES['image']['tmp_name']; 
    $folder="uploads/"; 

    $new_file_name = strtolower($file); 
    $image =str_replace(' ','-',$new_file_name); 
    move_uploaded_file($file_loc,$folder.$image); 

    $firstname  = $_POST["firstname"]; 
    $lastname  = $_POST["lastname"]; 
    $address1  = $_POST["address1"]; 
    $address2  = $_POST["address2"]; 
    $city   = $_POST["city"]; 
    $state   = $_POST["state"]; 
    $zipcode  = $_POST["zipcode"]; 
    $email   = $_POST["email"]; 
    $country  = $_POST["country"]; 
    $phone   = $_POST["phone"]; 
    $image   = $_FILES["image"]; 
    $username  = $_POST["username"]; 
    $passwordold = $_POST["oldpassword"]; 
    $passwordone = $_POST["passwordone"]; 
    $passwordtwo = $_POST["passwordtwo"]; 
    $sessions  = $_SESSION['admin_id']; 


    $query = "UPDATE user SET "; 
    $query .= "firstname = '{$firstname}', "; 
    $query .= "lastname = '{$lastname}', "; 
    $query .= "addressone = '{$address1}', "; 
    $query .= "addresstwo = '{$address2}', "; 
    $query .= "city = '{$city}', "; 
    $query .= "state = '{$state}', "; 
    $query .= "zipcode = '{$zipcode}', "; 
    $query .= "email = '{$email}', "; 
    $query .= "country = '{$country}', "; 
    $query .= "phone = '{$phone}', "; 
    $query .= "image = {$image} "; 
    $query .= "WHERE id = {$sessions} "; 
    $query .= "LIMIT 1"; 
    $result = mysqli_query($connection, $query); 

    echo "<pre>"; 
    print_r($_FILES); 
    print_r($_POST); 
    echo "</pre>"; 
} 
+0

Welcher Spaltestyp ist 'image' in der Tabelle? Sollte ein Blob sein. – fislerdata

+0

Nehmen Sie sich Zeit, um die Dokumentation für ['$ _FILES'] zu lesen (http://php.net/manual/en/reserved.variables.files.php) – Sean

+0

Meine Vermutung ist, dass Sie tatsächlich $ image = $ _FILES ändern wollen ["image"]; 'to' $ image = $ image; 'wie Sie möchten den neuen Dateinamen anstelle des ursprünglichen Namens. Oder entfernen Sie einfach diese Zeile und verwenden Sie einfach den in $ image = str_replace gesetzten Wert ('', '-', $ neuer_Dateiname); ' – Sean

Antwort

0

$ _FILES ["Bild"] ist ein Array. Sie können String nur in SQL-Abfragen übergeben. Möglicherweise müssen Sie das Array serialisieren und dann in der Datenbank speichern.