Jump to content

Recommended Posts

Hi,

 

I 'am trying to connect my sql database with my webpage for users log in. i have got this script so far but i keep getting the following error message which i cannot figure out..

 

could any1 help..

 

error:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\checklogin.php on line 18

Wrong Username or Password

 

code:

<?

 

$hostname_mysql_connect = "localhost";

$database_mysql_connect = "website_members";

$username_mysql_connect = "root";

$password_mysql_connect = "******";

$tblname_mysql_connect ="members";

 

$mysql_connect = mysql_pconnect($hostname_mysql_connect, $username_mysql_connect, $password_mysql_connect, $tblname_mysql_connect) or trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db($database_mysql_connect) or die(mysql_error());

 

$myusername = $_POST['myusername'];

$mypassword = $_POST['mypassword'];

 

$sql = "SELECT * FROM $tblname_mysql_connect WHERE username= '$myusername' and password='$mypassword'";

$result = mysql_query($sql);

 

$count = mysql_num_rows($result); (line 18)

if($count==1) {

session_register("myusername");

session_register("mypassword");

header("location:login_success.php");

}

else {

echo "Wrong Username or Password";

}

 

?>

 

 

many thanx

 

 

Link to comment
https://forums.phpfreaks.com/topic/111838-solved-php-help_connecting-sql-database/
Share on other sites

try this instead of that tutorial

 

your form

<form action="<?php echo $SCRIPT_NAME; ?>" method="POST">
<table>
<tr>
    	<td>Email:</td>
      <td><input type="textbox" name="email">
    </tr>
    <tr>
    	<td>Password:</td>
        <td><input type="password" name="password">
    </tr>
    <tr>
    	<td></td>
        <td><input type="submit" name="login" value="Log In">
    </tr>
</table>
</form>

 

then the code to process the form


$dbhost = "localhost";
$dbuser = "USERNAME";
$dbpassword = "PASSWORD";
$dbdatabase = "DATABASE;

$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);

$config_sitename = "YOURSITENAME";
$config_basedir = "PATH TO YOUR SITE";

$loginsql = "SELECT * FROM members WHERE username= '" . $_POST['username'] . "' AND password = '" . $_POST['password'] . "'";
$loginres = mysql_query($loginsql);
$numrows = mysql_num_rows($loginres);

if($numrows == 1)
{
	$loginrow = mysql_fetch_assoc($loginres);

		session_register("SESS_LOGGEDIN");
		session_register("SESS_USER");
		session_register("SESS_COMPANY");
		session_register("SESS_USERID");

		$_SESSION['SESS_LOGGEDIN'] = 1;
		$_SESSION['SESS_USER'] = $loginrow['username'];
		$_SESSION['SESS_COMPANY'] = $loginrow['company'];
		$_SESSION['SESS_USERID'] = $loginrow['user_id'];

		header("Location: " . $config_basedir);
}
else 
{
		header("Location: http://" . $HTTP_HOST . $SCRIPT_NAME . "?error=incorrect");
}
switch($_GET['error']) {

		case "incorrect":
			echo "<font color=#FF0000><strong>Incorrect email/password</strong></font>";
		break;

	}

The error means the mysql_query() failed. Since there is no error checking of the result of the mysql_query(), the code blindly continues execution and attempts to access a non-existent result resource.

 

The original code has error checking on the pconnect and select database functions but it has no error checking on the mysql_query(). The examples in the php manual under mysql_query() show basic error checking that will get your code to tell you why the query failed.

 

@timmah1, the code you posted has absolutely no error checking in it and it will fail for same reason as the original code.

 

Hi,

 

i changed the code in the query to :

$sql = "SELECT * FROM $tblname_mysql_connect WHERE username= '$myusername' and password='$mypassword'";

$result = mysql_query($sql) or die(mysql_error());

 

and this message is shown:

 

Unknown column 'password' in 'where clause'

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.