Jump to content

What am I doing wrong in my functions file?


cooldood

Recommended Posts

Hello!

I am trying to code one part of my functions list, but when I run the function to test all if, elseif, and else statements, it always goes to the else statement. So basically it tries to connect to MySQL, retrieve a username, and check to see if it is active, banned, or inactive. It is always saying it is active, even when I change it's status to inactive via PHPMyAdmin. Here is the code:

<?php

function checkActive() {

$checkActiveQuery = mysql_query("SELECT * FROM users WHERE user=adf");

if ($checkActiveQuery == "INACTIVE"){
echo "Your account has not been activated. If you have not recieved, or have misplaced the activation email, please contact the administrator.";
}
elseif ($checkActiveQuery == "BANNED"){
echo "You have been banned from our social network. If you believe this is an error, please contact the administrator.";
}
else {
echo "Your account is active.";
}
}
?>

 

The username I am testing with is "adf" without quotes. But, when I change its status to INACTIVE, it still says it's still active, same with banned. How do I make it retrieve this data from MySQL and it function properly? It seems that it is unable to retrieve this data specifically.

 

Thanks!

Nick.

try something like this: (change database field name first)


<?php
function checkActive() {
$checkActiveQuery = mysql_query("SELECT * FROM `users` WHERE `user`= 'adf'");
$result = mysql_fetch_assoc($checkActiveQuery);
$status = $result['field_name']; // SHOULD BE THE NAME OF THE DB FIELD THAT HOLDS THE VALUE 'BANNED', 'ACTIVE' or 'INACTIVE'
if ($status == "INACTIVE"){
	echo "Your account has not been activated. If you have not recieved, or have misplaced the activation email, please contact the administrator.";
}elseif ($checkActiveQuery == "BANNED"){
	echo "You have been banned from our social network. If you believe this is an error, please contact the administrator.";
}else {
	echo "Your account is active.";
}
}
?>

Hi.

After trying the mysql_fetch_assoc() function, I always seem to get an error every time I use it. The error is as follows:

 

 

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/OpenSocial/include/functions/login_functions.php on line 4.

I'm trying everything, and nothing seems to fix this error. Do one of you have any suggestions? I even went to the extreme of using WebStyle's code to look to see if that would work, but I still cannot seem to fix that error when it comes to that PHP function. Are there any alternatives?

 

Thanks!

Nick.

My code is as follows: (it is basically the same as yours)

<?php

function checkActive() {

$checkActiveQuery = mysql_query("SELECT * FROM users WHERE user=adf");
$accountStatus = Result['user'];
$Result = mysql_fetch_assoc($checkActiveQuery);

if ($checkActiveQuery == "INACTIVE"){
echo "Your account has not been activated. If you have not recieved, or have misplaced the activation email, please contact the administrator.";
}
elseif ($checkActiveQuery == "BANNED"){
echo "You have been banned from our social network. If you believe this is an error, please contact the administrator.";
}
else {
echo "Your account is active.";
}
}
?>

You're using the $Result before it exists:

 

<?php
$accountStatus = Result['user'];
$Result = mysql_fetch_assoc($checkActiveQuery);
?>

 

...plus you're missing a $...should be:

 

<?php
$Result = mysql_fetch_assoc($checkActiveQuery);
$accountStatus = $Result['user'];
?>

your code is NOT the same as mine. I said:

 

$status = $result['field_name']; // SHOULD BE THE NAME OF THE DB FIELD THAT HOLDS THE VALUE 'BANNED', 'ACTIVE' or 'INACTIVE'

 

and then you check that specific value:

if ($status == "INACTIVE"){

I think I have figured it out. Thanks so much guys!

 

Anyways can someone tell me why exactly it will say "Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /PATH"? It just doesn't make any sense to me.

 

Thanks!

Nick.

this variable holds the query:

$checkActiveQuery = mysql_query("SELECT * FROM users WHERE user=adf");

 

this variable fetches the results from your query

$Result = mysql_fetch_assoc($checkActiveQuery);

 

this variable grabs a specific field from the returned array

$accountStatus = Result['user'];

 

this error means your query failed

mysql_fetch_assoc() expects parameter 1 to be resource

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.