Jump to content

SQL - Check if variable already exists


oliverj777

Recommended Posts

Hello,

 

I working on a very simple 'Create User' script, and I'm struggling to have a 'anti duplicate' system. Where it connects to SQL and checks to see if a username is already being used.

 

This is what I have:

 

mysql_connect("localhost", "username", "pass") or die(mysql_error());
mysql_select_db("database") or die (mysql_error());

$fetch = "SELECT * FROM highscores";
$result = mysql_query($fetch) or die (mysql_error());

$AddNewPlayer = $_POST["PHPnewPlayer"];
$AddNewScore = $_POST["PHPnewScore"];

$row = mysql_fetch_array($result);
if($AddNewPlayer == $row['player']){
        //this is always false - so it adds a username regardless 
echo "Profile already in use";
}
else if($AddNewPlayer == ""){
echo "Please enter a profile name";
}
else{
mysql_query("INSERT INTO highscores (player, score) VALUES('".$AddNewPlayer."', '".$AddNewScore."') ") 
or die (mysql_error());
echo "Profile Added"."-".$AddNewPlayer;
}

 

 

It never seems the check to see if a username is already in use, and so it just adds a username regardless. What am I doing wrong?

 

Thanks

Link to comment
https://forums.phpfreaks.com/topic/239546-sql-check-if-variable-already-exists/
Share on other sites

try this approach instead

mysql_connect("localhost", "username", "pass") or die(mysql_error());
mysql_select_db("database") or die (mysql_error());

$AddNewPlayer = $_POST["PHPnewPlayer"];
$AddNewScore = $_POST["PHPnewScore"];

$fetch = "SELECT * FROM highscores WHERE player = '$AddNewPlayer'";
$result = mysql_query($fetch) or die (mysql_error());


$num_rows = mysql_num_rows($result);
if($num_rows > 0){
        
echo "Profile already in use";
}
else{

if($AddNewPlayer == ''){
echo "Please enter a profile name";
} else {
mysql_query("INSERT INTO highscores (player, score) VALUES('".$AddNewPlayer."', '".$AddNewScore."') ") 
or die (mysql_error());
echo "Profile Added -".$AddNewPlayer;
   }
}

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.