简体   繁体   English

为什么会出现解析错误?

[英]Why Am I Getting A Parse Error?

I have an HTML page with a simple form on it that submits data to login.php. 我有一个带有简单表单的HTML页面,该页面将数据提交到login.php。 Inside of login.php I have this code. 在login.php内部,我有此代码。 When I try to execute this script I get this error: 当我尝试执行此脚本时,出现以下错误:

Parse error: syntax error, unexpected T_VARIABLE in /home/login.php on line 13 解析错误:语法错误,/ home / login.php中第13行出现意外的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.");
}

?>

You're missing a semicolon: 您缺少分号:

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

That error is telling you that something on line 13 was unexpected; 该错误告诉您第13行出现了意外情况; in this case a variable. 在这种情况下为变量。 So usually it's a good idea to check the code that comes before it and check that it's syntactically correct. 因此,通常最好检查一下它之前的代码,并检查它在语法上是否正确。

In this case you're missing a semi-colon on the line proceeding line 13, so line 11 due to your formatting - just where you use mysql_query()! 在这种情况下,您在第13行的行上缺少分号,因此在第11行中由于您的格式而已-仅在使用mysql_query()的地方! Try this... 尝试这个...

$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);

You are forgetting to add the connection in the query: 您忘记在查询中添加连接:

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

should be: 应该:

$result = mysql_query("SELECT * FROM users WHERE username='$username'", $connect);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM