2012-04-25 49 views
-1

确定我有这样的代码:PHP MySQL的数据进行比较

<?//admin 
$host = 'localhost'; // Host name Normally 'LocalHost' 
$user = 'root'; // MySQL login username 
$pass = ''; // MySQL login password 
$database = 'juliver'; // Database name 
$table = 'admin'; // Members name 

mysql_connect($host, $user, $pass); 
mysql_select_db($database); 
if (isset($_POST['acc']) && ($_POST['pass'])) 
{ 
$username = mysql_real_escape_string($_POST['acc']); 
$password = hash('sha512', $_POST['pass']); 

$result = mysql_query("SELECT * FROM admin WHERE username = '$username' AND password =  '$password'"); 

if(mysql_num_rows($result)) 
{ 
    // Login 
echo "has been login"; 
} 
else 
{ 
    // Invalid username/password 
    echo 'Error: Invalid username or password'; 
} 

exit; 

} 
else 
{ 
echo "not been set"; 
} 
?> 

,我得到这个错误:“警告:mysql_num_rows()预计参数1是资源,布尔在C中给出:\ XAMPP \ htdocs中\ MU2 \ admin.php在线17 已登录“,可以在这里附近的某人,可以帮助我弄清楚什么可能是地狱是那个错误吗?..提前致谢

即时通讯任何建议打开。

回答

0

其简单的你调用mysql_query失败,你可以在echo mysql_error()之后查看错误是什么。

0

您的MySQL查询有些问题,您可能正在访问某些不存在或拼写错误的内容。回声mysql_error()会告诉你你的问题。我还建议消除查询中的多余空格(它看起来有点奇怪)。 :)

0

这将帮助您找到错误

error_reporting(E_ALL); 
ini_set('display_errors','On'); 
$host = 'localhost'; // Host name Normally 'LocalHost' 
$user = 'root'; // MySQL login username 
$pass = ''; // MySQL login password 
$database = 'juliver'; // Database name 
$table = 'admin'; // Members name 

$link = mysql_connect ($host, $user, $pass); 

if (! $link) { 
    die ('Could not connect: ' . mysql_error()); 
} 

$selected = mysql_select_db ($database); 

if (! $selected) { 
    die ('Can\'t use foo : ' . mysql_error()); 
} 

if (isset ($_POST ['acc']) && ($_POST ['pass'])) { 
    $username = mysql_real_escape_string ($_POST ['acc']); 
    $password = hash ('sha512', $_POST ['pass']); 

    $result = mysql_query ("SELECT * FROM admin WHERE username = '$username' AND password = '$password'"); 

    if (!$result) { 
     die('Invalid query: ' . mysql_error()); 
    } 

    $num_rows = mysql_num_rows($result); 

    if ($num_rows > 0) { 
     // Login 
     echo "has been login"; 
    } else { 
     // Invalid username/password 
     echo 'Error: Invalid username or password'; 
    } 

    exit(); 

} else { 
    echo "not been set"; 
}