2016-04-06 8 views
1

アカウントにログインしたユーザーはプロフィール写真を変更する必要があり、問題が発生しているようです。写真はprofileテーブルに挿入されますが、ログインしたユーザーの行には挿入されません。データベースに別のレコードが作成されます。mysqliを使ってデータベースにログインしたユーザーの画像パスを挿入するには?

<?php 
    include 'session.php'; 
    ?> 
    <form action="update.php" method="POST" enctype="multipart/form-data"> 
      <input type="file" name="file_upload" class="form-control"> 
      <input type="submit" name="submit" value="Change Photo" style="float: right"/> 
    </form> 

をそして、これは

<?php 
session_start(); 
include_once('dbcontroller.php'); 
if(isset($_POST['submit'])) { 

    if(move_uploaded_file($loc, '../admin/profile-avatars/'.$final_file)) { 
     $sql = mysqli_query($conn, "INSERT INTO profile WHERE username='$login_session' (profilePhoto, photoType, photoSize) VALUES('$final_file','$type','$new_size')"); 

     echo "<script type='text/javascript'>alert('Profile successfully updated.'); 
       window.location.assign('profilephoto.php');</script>"; 
    } 
} 

?> 

EDIT私のupdate.phpを次のとおりです: 私は現在、私のprofilephoto.phpでこれを持ってそれは今働いている 。あなたサーガルパテルとDevilaNをありがとう:) 私の間違いがある私のクエリにあった:

でなければなりません
$sql = mysqli_query($conn, "INSERT INTO profile WHERE username='$login_session' (profilePhoto, photoType, photoSize) VALUES('$final_file','$type','$new_size')"); 

:あなたが使用する必要があります代わりに、(クエリを更新されていない)INSERTを使用しての

$sql = mysqli_query($conn, "UPDATE profile SET profilePhoto='$final_file', photoType='$type', photoSize='$new_size' WHERE username='$login_session'"); 

答えて

2

クエリの代わりに、INSERTクエリ

の下に書いてください3210
+0

ようやく!それは今働いています、ありがとうございました! :D – user6151429

+0

大歓迎:) –

1

UPDATE profile SET [values set here] WHERE username='$login_session'; 
+0

あなたはそうです。だから私はそれを更新する。私は今この '$ sql = mysqli_query($ conn、" UPDATEプロファイルセット(profilePhoto、photoType、photoSize)VALUES( '$ final_file'、 '$ type'、 '$ new_size')WHERE username = '$ login_session' ; 'BUTイメージはまだユーザーの行に挿入/更新されていません。 – user6151429

+0

あなたは$ login_sessionにwhereの条件に適切な値が含まれていると確信していますか? 何かエラーが発生しますか? – DevilaN

+0

はい、確信しています。そして、いいえ、何のエラーもありません。 – user6151429

関連する問題