-1

OK私はこのコードを持っています:

<?//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 がリソースであると想定しています。17 行目の C:\xampp\htdocs\mu2\admin.php で指定されたブール値がログインされています」一体何がそのエラーなのかを理解するためにお願いします?..事前に感謝します

とにかくどんな提案でも開いています。

4

3 に答える 3

0

単純に mysql_query の呼び出しが失敗します。そのecho mysql_error()直後にエラーの内容を確認できます。

于 2012-04-25T01:15:45.887 に答える
0

MySQL クエリに何か問題があり、そこにないものにアクセスしたり、スペルを間違えたりしている可能性があります。mysql_error() をエコーすると、問題がわかります。また、クエリ内の余分なスペースを削除することをお勧めします (少し奇妙に見えます)。:)

于 2012-04-25T01:18:17.270 に答える
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";
}
于 2012-04-25T01:38:29.420 に答える