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?
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
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!