我的简单PHP输出错误的东西

我的简单PHP输出错误的东西,php,if-statement,echo,Php,If Statement,Echo,编辑:我忘记添加分号了。现在还有另一个问题。我得到一个错误: 它输出: 0){ echo 'si'; } ?> 当它应该只在主体中输出'si'时 代码如下: <html> <head> </head> <body> <? $user = mysql_real_escape_string($_GET["u"]) $pass = mysql_re

编辑:我忘记添加分号了。现在还有另一个问题。我得到一个错误:

它输出:

0){ echo 'si'; } ?> 
当它应该只在主体中输出'si'时

代码如下:

<html>
    <head>
    </head>

    <body>
        <? 
            $user = mysql_real_escape_string($_GET["u"])
            $pass = mysql_real_escape_string($_GET["p"])

            $query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'"

            mysql_connect(localhost, "sergio", "123");
            @mysql_select_db("multas") or die( "Unable to select database");

            $result=mysql_query($query);
            if(mysql_numrows($result) > 0){
                echo 'si';
            }   
         ?>
    </body>
</html>

这是因为您使用的是短php标记,在$user、$pass和$query变量上需要分号。

后面缺少分号

 $query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'" 

关于意外的T字符串错误,请在“localhost”周围加引号。

mysql connect语句应为:

 mysql_connect('localhost', 'sergio', '123');

启用短标记的选项的名称为:“short\u open\u tag”。看看这篇文章,看看为什么不建议启用此功能:@matias:感谢添加该链接。如果我是你,我会数到第12行,然后查找意外的T_字符串。似乎在更新问题之前,您已经查找了10秒钟。为什么它应该有单引号?@sergia tapia:这对于内存管理来说有点好:在php中,如果使用双引号,字符串将被解析以查找变量。
 $query = "SELECT * FROM usario WHERE username = '$user' AND password = '$pass'" 
 mysql_connect('localhost', 'sergio', '123');