私はログインしていますが、MySQLクエリから行数をカウントするとエラーが発生します。エラーは以下のとおりです。ローをカウントするエラー
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/nzcraftn/public_html/bs/login.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at /home/nzcraftn/public_html/bs/login.php:13) in /home/nzcraftn/public_html/bs/login.php on line 21
私はこのコードをログインに使用しています。
<?php
session_start();
include('config.php');
$user = protect($_POST['username']);
$pass = protect($_POST['password']);
$salt = "a123b123";
$thepass = md5($salt.md5($pass));
$res = mysql_query("SELECT `username`,`password` WHERE (`username` = '$user' AND `password` = '$thepass')");
$count = mysql_num_rows($res);
if($count == 1) {
$_SESSION['user'] = $user;
print($_SESSION['user']);
//header('Location: /panel/index.php');
} else {
$_SESSION['errormsg'] = "<div style='color: #FF0000'>Invalid Login!</div>";
header('Location: index.php');
}
?>
エラーはわかりやすいものです。 mysql_queryは有効なクエリを与えなかったのでfalseを返しました。どの表を選択するかは指定していません。 'false'で行を数えることはできません。 –
可能な複製[mysql_fetch_array()は、パラメータ1がリソースであることを期待し、selectで指定されたブール値](http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to-be-resource) -boolean-given-in-select) – legoscia