で述べエコーを実行します。INSERTクエリがデータを挿入していないけど、私は次のコードスニペットを持っているINSERTが成功
$get_data = mysqli_query ($connect, "SELECT * FROM users WHERE username = '$username'");
$row2 = mysqli_fetch_assoc ($get_data);
$age = $row2['age'];
$get_data2 = mysqli_query ($connect, "SELECT * FROM user_bio WHERE username = '$username'");
$row3 = mysqli_fetch_assoc ($get_data2);
$bio = $row3['about_me'];
$studying = $row3['studying'];
$lang = $row3['language'];
$rel_status = $row3['relationship_status'];
$about_me = htmlentities(trim(strip_tags(@$_POST['biotextarea'])));
$new_studying = htmlentities(trim(strip_tags(@$_POST['studying'])));
$new_lang = htmlentities(trim(strip_tags(@$_POST['lang'])));
$new_rel = htmlentities(strip_tags(@$_POST['rel']));
if(isset($_POST['update_data'])){
// need to check if the username has data already in the db, if so, then we update the data, otherwise we insert data.
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$username'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 0){
$insert_query = mysqli_query ($connect, "INSERT INTO user_bio (id, age, studying, language, relationship_status, username, about_me)
VALUES ('', '$age','$new_studying','$new_lang','$new_rel', '$username', '$about_me'");
echo " <div class='details_updated'>
<p> Details added successfully! </p>
</div>";
} else {
$update_details_query = mysqli_query ($connect, "UPDATE user_bio SET studying ='$new_studying', language ='$new_lang',
relationship_status = '$new_rel', about_me = '$about_me' WHERE username ='$username'");
echo " <div class='details_updated'>
<p> Details updated successfully! </p>
</div>";
}
}
アイデアは、ユーザーが自分のbio
、INSERT
かUPDATE
のいずれかを使用してクエリをアップロードするときということですその行のために既に存在する場合に基づいてusername
。私はコナーとしてログインし、コナーは、彼らのバイオを編集することができaccount_settings_bio.php
、に行けば、UPDATE
クエリ(else文が)ので、そこに実行します
id: 1
age: 30
studying: Business
language: English
relationship_status: Single
username: conor
about_me: This is conor's bio.
:たとえば、私は手動でユーザ名Conor
のために挿入された1行を持っていますdbのユーザ名conor
の行です。ただし、Alice
としてログインしてaccount_settings_bio.php
にアクセスすると、user_bio
テーブルにaliceのデータが存在しないため、INSERTクエリが実行されます。それは、エコーINSERT
クエリが<p> Details added successfully! </p>
すなわち成功したときに発生したメッセージだ、私はすべての詳細を追加し、[送信]をクリックし、
さて、問題は、私はアリスとしてログインしていたときに、ということである、と私はaccount_settings_bio.php
に行きます - 新しい行はデータベースに追加されません。