Bird Posted August 23, 2019 Share Posted August 23, 2019 (edited) Both of these are using the same DB connection($conn) and both currency and level are in the table, yet when I run my page, it shows currency, but level comes up blank. // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } else{ echo 'Connected! '; $sql = "SELECT * FROM KJE WHERE username = '$user' AND password = '$pass' "; $result = mysqli_query($conn,$sql); $check = mysqli_fetch_array($result); if(isset($check)){ $_SESSION['username'] = $user; //BELOW WAS WORKING. WHILE TROUBLESHOOTING I CHANGED IT. WHEN I CTRL+Z BACK TO IT'S ORIGINAL IT STOPPED WORKING. I GUESS I'M DOING SOMETHING FUNDAMENTALLY WRONG AND GOT LUCKY? //------currency------ $sql2 = ("SELECT currency FROM KJE WHERE username = '{$_SESSION['username']}' "); $result2 = mysqli_query($conn,$sql2); $currency = mysqli_fetch_array($result2); for($a = 0 ; $a < count($_SESSION['currency']) ; $a++){ $_SESSION['currency'] = $currency[$a]; } //BELOW DOES NOT WORK //------level------ $sql3 = ("SELECT `level` FROM KJE WHERE username = '{$_SESSION['username']}' "); $result2 = mysqli_query($conn,$sql3); $level = mysqli_fetch_array($result2); for($b = 0 ; $b < count($_SESSION['level']) ; $b++){ $_SESSION['level'] = $level[$b]; } } Edited August 23, 2019 by Bird Link to comment Share on other sites More sharing options...
justsomeguy Posted August 23, 2019 Share Posted August 23, 2019 Why are you using a for loop at all? It's an array with a single value in it, you don't need to loop. And if there's nothing in $_SESSION, then it won't loop to set the value at all. Link to comment Share on other sites More sharing options...
Bird Posted August 23, 2019 Author Share Posted August 23, 2019 1 hour ago, justsomeguy said: Why are you using a for loop at all? It's an array with a single value in it, you don't need to loop. And if there's nothing in $_SESSION, then it won't loop to set the value at all. You're absolutely right. I'm very new at this and thought I had to use a loop for an array. Realized I was already returning the row when I set the $_SESSION['user']. // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } else{ echo 'Connected! '; $sql = "SELECT * FROM KJE WHERE username = '$user' AND password = '$pass' "; $result = mysqli_query($conn,$sql); $check = mysqli_fetch_array($result); $_SESSION['currency'] = $check['currency']; $_SESSION['level'] = $check['level']; ^much better Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now