Click to See Complete Forum and Search --> : php/mySQL signup script...


chadypu
10-12-2003, 12:36 AM
i have a script that will sign you up and save data into the mySQL db based on what you put in forms...

$sql = "INSERT INTO `users` ( `pass` , `username` )
VALUES (
'$pass', '$uname'
)";
mysql_query($sql);

but i want it to check so it wont create a new row if the username is already taken

how can i implement this?

pyro
10-12-2003, 09:21 AM
Try something like this:

$query = "SELECT `username` FROM `users` WHERE username='$uname'";
if (mysql_num_rows($query) == 0) {
$sql = "INSERT INTO `users` (`pass` , `username`)
VALUES ('$pass', '$uname')";
mysql_query($sql);
}
else {
echo "Username already taken.";
}

chadypu
10-12-2003, 10:37 AM
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/chadypu/public_html/profile/create.php on line 61


$query = "SELECT `username` FROM `users` WHERE username='$uname'";
if (mysql_num_rows($query) == 0) {
$sql = "INSERT INTO `users` (`pass` , `username`)
VALUES ('$pass', '$uname')";
mysql_query($sql);
}
else {
echo "Username already taken.";
}

the bold line is line 61

pyro
10-12-2003, 12:15 PM
oops, my mistake. Forgot to run the query. :rolleyes:

Try this one:

$query = "SELECT `username` FROM `users` WHERE username='$uname'";
$results = mysql_query($query);
if (mysql_num_rows($results) == 0) {
$sql = "INSERT INTO `users` (`pass` , `username`)
VALUES ('$pass', '$uname')";
mysql_query($sql);
}
else {
echo "Username already taken.";
}

chadypu
10-12-2003, 01:13 PM
thanks pyro!

pyro
10-12-2003, 01:39 PM
Sure thing... :)