0

login.php にデータを送信する単純なフォームを含む HTML ページがあります。login.php の内部には、このコードがあります。このスクリプトを実行しようとすると、次のエラーが発生します。

解析エラー: 構文エラー、13 行目の /home/login.php の予期しない T_VARIABLE

<?php

$username = $_POST['login'];
$password = $_POST['password'];

if ($username&&$password) {

    $connect = mysql_connect("localhost", "admin", "1455m") or die("Couldn't Connect");
    mysql_select_db("lr") or die("Couldn't find database!");

    $query = mysql_query("SELECT * FROM users WHERE username='$username'")

    $numrows = mysql_num_rows($query);

    if ($numrows!=0) {

        while ($row = mysql_fetch_assoc($query)) {

            $dbusername = $row['username'];
            $dbpassword = $row['password'];
        }

        if ($username==$dbusername&&$password==$dbpassword) {

            echo 'You are In!';

        } else {

            echo 'Incorrect Password!';
        }

    } else {
        die("That user doesn't exist.");
    }

} else {
    die("Please enter a username & password.");
}

?>
4

3 に答える 3

9

セミコロンがありません:

$query = mysql_query("SELECT * FROM users WHERE username='$username'") 
                                                                      ^
                                                                      Here
于 2012-07-25T23:02:23.950 に答える
3

このエラーは、13 行目の何かが予想外だったことを示しています。この場合は変数です。したがって、通常は、その前にあるコードをチェックして、構文的に正しいことを確認することをお勧めします。

この場合、行 13 の前にある行にセミコロンがありません。したがって、行 11 は書式設定のために - mysql_query() を使用する場所です! これを試して...

$connect = mysql_connect("localhost", "admin", "1455m") or die("Coudn't Connect");
mysql_select_db("lr") or die("Coudn't find database!");

$query = mysql_query("SELECT * FROM users WHERE username='$username'"); // here!

$numrows = mysql_num_rows($query);
于 2012-07-25T23:02:45.117 に答える
-2

クエリに接続を追加するのを忘れています:

$query = mysql_query("SELECT * FROM users WHERE username='$username'");

次のようにする必要があります。

$result = mysql_query("SELECT * FROM users WHERE username='$username'", $connect);
于 2012-07-25T23:07:36.340 に答える