2016-04-25 14 views
-2

誰かが私の問題を解決します。更新クエリが機能しません。 Updateでこのエラーが発生しました...配列から文字列への変換$ query。= "image = '{$ image}'"; -------------------------------------------------- -------------------------------------------------- --------------------------------文字列変換の配列

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

テーブルにはどのようなタイプの列がありますか?ブロブでなければならない。 – fislerdata

+0

['$ _FILES'](http://php.net/manual/en/reserved.variables.files.php)のドキュメントを読む時間がかかります – Sean

+0

私は実際には' $ image = $ _FILES元の名前の代わりに新しいファイル名を指定したい場合は、["image"]; '' $ image = $ image; 'または単にその行を削除し、 '$ image = str_replace( ''、 ' - '、$ new_file_name);で設定した値を使用してください。 – Sean

答えて

0

$ _FILES ["image"]は配列です。 SQLクエリでは文字列を渡すことしかできません。配列をシリアル化してデータベースに格納する必要があるかもしれません。

関連する問題