View Full Version : SQL Problem
Robbie
17-01-2008, 08:21 PM
I have the code:
<?
// Database Connect
$host = "localhost";
$user = "usr";
$pass = "pass";
$db = "usr";
$cn = mysql_pconnect($host, $user, $pass);
if( !$cn )
{
echo "Error connecting to database.";
}
mysql_select_db($db);
//Check If form has been submitted
if($_POST["B1"]) {
// If Habbo Name hasn't been entered
if($_POST[T1] = "") {
die("<font face='verdana' size='1'>You must enter a habbo name</font>");
}
// If Forum name hasn't been entered
if($_POST[T2] = "") {
die("<font face='verdana' size='1'>You must enter a forum name</font>");
}
// If username is already in database
$find_username = mysql_query("SELECT * FROM event WHERE name = '$_POST[T1]'");
$duplicate_username = mysql_num_rows($find_username);
// If not, then enter user
if ($duplicate_username == 0 ) {
$query = mysql_query("INSERT INTO `event` (`name`, `forum`, `points`) VALUES('$_POST[T1]', '$_POST[T2]', '50')");
echo "<font face='verdana' size='1'>entered";
// If in, show error
} else {
die("<font face='verdana' size='1'>Habbo name already in database!</font>");
}
} else {
?>
// Code for my page
<?php } ?>
The code works etc (I removed the html code) but when i add the username check code, it always says Habbo name already in database no matter what.
any help? thanks
Jackboy
17-01-2008, 08:48 PM
u aint done a mysql_num_rows mate.
Ur just checking the array for a number when it aint got that.
PM me if u dont understand what im woffling about
EDIT: NEW CODE
<?
// Database Connect
$host = "localhost";
$user = "usr";
$pass = "pass";
$db = "usr";
$cn = mysql_pconnect($host, $user, $pass);
if( !$cn )
{
echo "Error connecting to database.";
}
mysql_select_db($db);
//Check If form has been submitted
if($_POST["B1"]) {
// If Habbo Name hasn't been entered
if($_POST[T1] = "") {
die("<font face='verdana' size='1'>You must enter a habbo name</font>");
}
// If Forum name hasn't been entered
if($_POST[T2] = "") {
die("<font face='verdana' size='1'>You must enter a forum name</font>");
}
// If username is already in database
$find_username = mysql_query("SELECT * FROM event WHERE name = '$_POST[T1]'");
$all_usernames = mysql_num_rows($find_username);
$duplicate_username = mysql_num_rows($all_usernames);
// If not, then enter user
if ($duplicate_username == 0 ) {
$query = mysql_query("INSERT INTO `event` (`name`, `forum`, `points`) VALUES('$_POST[T1]', '$_POST[T2]', '50')");
echo "<font face='verdana' size='1'>entered";
// If in, show error
} else {
die("<font face='verdana' size='1'>Habbo name already in database!</font>");
}
} else {
?>
// Code for my page
<?php } ?>
MrCraig
17-01-2008, 09:02 PM
i dont understand what your woffling about as youve done the mysql_num_rows twice.
Robbie
17-01-2008, 09:04 PM
^ doesnt work.
And it does have num rows, here
$find_username = mysql_query("SELECT * FROM event WHERE name = '$_POST[T1]'");
$duplicate_username = mysql_num_rows($find_username);
edit: craig beat me
I don't see why you'vwe given your query to insert the event or w.e a variable? I think the problem is you've wrapped your variable that represents the username in quotes but not the field you're checking, I don't know, try what i've done below and see if it works..
<?
// Database Connect
$host = "localhost";
$user = "usr";
$pass = "pass";
$db = "usr";
$cn = mysql_pconnect($host, $user, $pass);
if( !$cn )
{
echo "Error connecting to database.";
}
mysql_select_db($db);
//Check If form has been submitted
if($_POST["B1"]) {
// If Habbo Name hasn't been entered
if($_POST[T1] = "") {
die("<font face='verdana' size='1'>You must enter a habbo name</font>");
}
// If Forum name hasn't been entered
if($_POST[T2] = "") {
die("<font face='verdana' size='1'>You must enter a forum name</font>");
}
// If username is already in database
$find_username = mysql_query("SELECT * FROM `event` WHERE `name` = '" . $_POST['T1'] . "' ");
$duplicate_username = mysql_num_rows($find_username);
// If not, then enter user
if ($duplicate_username == 0) {
mysql_query("INSERT INTO `event` (`name`, `forum`, `points`) VALUES('$_POST[T1]', '$_POST[T2]', '50')");
echo "<font face='verdana' size='1'>entered";
// If in, show error
} else {
die("<font face='verdana' size='1'>Habbo name already in database!</font>");
}
} else {
?>
// Code for my page
<?php } ?>
Robbie
17-01-2008, 09:41 PM
didnt work :s
MrCraig
17-01-2008, 09:56 PM
<?
// Database Connect
$host = "localhost";
$user = "usr";
$pass = "pass";
$db = "usr";
$cn = mysql_pconnect($host, $user, $pass);
if( !$cn )
{
echo "Error connecting to database.";
}
mysql_select_db($db);
//Check If form has been submitted
if($_POST["B1"]) {
// If Habbo Name hasn't been entered
if($_POST[T1] = "") {
die("<font face='verdana' size='1'>You must enter a habbo name</font>");
}
// If Forum name hasn't been entered
if($_POST[T2] = "") {
die("<font face='verdana' size='1'>You must enter a forum name</font>");
}
// If username is already in database
$find_username = mysql_query("SELECT * FROM event");
$duplicate_username = 0
while($countnums = mysql_fetch_array($find_username))
{
if($countnums[name] == $_POST[T1])
$duplicate_username++;
}
// If not, then enter user
if ($duplicate_username == 0 ) {
$query = mysql_query("INSERT INTO `event` (`name`, `forum`, `points`) VALUES('$_POST[T1]', '$_POST[T2]', '50')");
echo "<font face='verdana' size='1'>entered";
// If in, show error
} else {
die("<font face='verdana' size='1'>Habbo name already in database!</font>");
}
} else {
?>
// Code for my page
<?php } ?>
That bypasses the mysql_num_rows thing, in case thats the reason it doesnt work as i dont see anything wrong with it :S
Jackboy
18-01-2008, 08:48 PM
i dont understand what your woffling about as youve done the mysql_num_rows twice.
Lmao at me. I meant to do an array.
Want to hide these adverts? Register an account for free!
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.