Avatar of Aimee Katherine
Aimee Katherine
 asked on

SQL doesn't UPDATE the AJAX call when WHERE is specified

Can somebody please help me? I'm writing code to tell when someone enters or leaves a webpage chatroom. The SQL query doesn't work when I add the WHERE portion. When I remove the WHERE username='$userLoggedIn' part, it does update, but it'll list all the users in the database. When I echo the variable $userLoggedIn right before the SQL query, it gives me the correct value each time, so I don't know why this value isn't passing to the SQL query. Another curious thing is that when I take the AJAX PHP code (from userfetch.php) and put it back to the start of the main page (where the call itself was made publicchat.php), the code updates and works well. However, the page ends up looking really messed up though, but I can see that the code executed and UPDATEd on that page. It won't update where it's supposed to, though.
I should also mention that the code does work as it should if I assign a value to $userLoggedIn. This leads me to believe that the problem lies in the variable $userLoggedIn. I did try changing the name itself, but had the same problem. Any thoughts?

Any help is so greatly appreciated!!!

Here is the code:

userfetch.php:
<?php

include_once('config/config.php');

if(isset($_POST['userLoggedIn'])){
$userLoggedIn = $_POST['userLoggedIn'];

//enter users into database
if(isset($_POST['userinchat'])){
$userinchat = $_POST['userinchat'];
if ($userinchat === "yesway"){
    $date_time_now = date("Y-m-d H:i:s");

    echo $userLoggedIn;

    mysqli_query($conn, "UPDATE users SET in_chatroom='yes',      lasttime_spotted='$date_time_now' WHERE username='$userLoggedIn' ");      
    }
}  
?>

publicchat.php

<script>    
function users(){
var xhr1 = new XMLHttpRequest();
xhr1.open('POST' , 'userfetch.php' , true);
xhr1.setRequestHeader('content-type','application/x-www-form-    urlencoded');
xhr1.send('userinchat=' + userinchat + '&userLoggedIn=' + username);
xhr1.onreadystatechange = function()
    {
    document.getElementById('loginperson').innerHTML = xhr1.responseText;
    }
}
</script>
DatabasesJavaScriptPHPSQL

Avatar of undefined
Last Comment
Aimee Katherine

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Pawan Kumar

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Aimee Katherine

ASKER
Thank you so much!  I am so grateful to you!  It solved the problem!!
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes