【发布时间】:2013-12-21 11:57:13
【问题描述】:
每当我尝试登录我的网站时,它总是会出现:
注意:未定义变量:第 13 行 P:\xampp\htdocs\CraftedLogin\authenticate.php 中的 conn
警告:mysql_query() 期望参数 2 是资源,给定 null 在第 13 行的 P:\xampp\htdocs\CraftedLogin\authenticate.php 中
警告:mysql_num_rows() 期望参数 1 是资源,null 在第 16 行的 P:\xampp\htdocs\CraftedLogin\authenticate.php 中给出 错误的用户名或密码!无法以 gfg 身份登录
这是我的代码:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
include("dbConfig.php");
$sql = "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'";
$rs = mysql_query($sql,$conn);
$num = mysql_num_rows( $rs );
if( $num != 0 )
{
$msg = "<h3>Welcome $username - your log-in succeeded!</h3>";
}
else
{
$msg = "Wrong username or password! Cannot login as $username";
}
?>
<html>
<head>
<title>Log-In</title>
</head>
<body>
<?php echo( $msg ); ?>
</body>
</html>
这也是我的 dbConfig.php:
<?
$host = "localhost";
$user = "CraftedLogin";
$pass = "craftedlogin";
$db = "craftedlogin";
$self = $_SERVER['PHP_SELF'];
$referer = $_SERVER['HTTP_REFERER'];
$connection = mysql_connect($host, $user, $pass);
if ( !$conn )
{
echo "Error connecting to database.\n";
}
$rs = @mysql_select_db( $db, $conn )
or die( "Could not select database" );
?>
谁能帮帮我?
注意:我尝试将 $connection 更改为 $conn,但这次使用 $num 变量仍然会出错,但我想我可以快速解决这个问题。
新代码:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
include("dbConfig.php");
$sql = "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'";
$rs = @mysql_select_db( $db, $conn );
$numr = mysql_num_rows( $rs );
if( $numr != 0 )
{
$msg = "<h3>Welcome $username - your log-in succeeded!</h3>";
}
else
{
$msg = "Wrong username or password! Cannot login as $username";
}
?>
<html>
<head>
<title>Log-In</title>
</head>
<body>
<?php echo( $msg ); ?>
</body>
</html>
和dbConfig.php:
<?
$host = "localhost";
$user = "CraftedLogin";
$pass = "craftedlogin";
$db = "craftedlogin";
$self = $_SERVER['PHP_SELF'];
$referer = $_SERVER['HTTP_REFERER'];
$conn = mysql_connect($host, $user, $pass);
if ( !$conn )
{
echo "Error connecting to database.\n";
}
$rs = @mysql_select_db( $db, $conn )
or die( "Could not select database" );
?>
【问题讨论】:
-
将
$connection = mysql_connect($host, $user, $pass);更改为$conn = mysql_connect($host, $user, $pass);