2012-02-24 109 views
-3

我写了一些代码,它似乎没有工作。我似乎无法看到为什么它不是:php - 解析错误

<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 

if ($username && $password) 
(
    $connect = mysql_connect("localhost","1001","Larissa") or die("Couldn't connect") 
    mysql_select_db("login"); 
     or die ("Couldnt find db"); 

) 

else 

die("Please enter a username and a password"); 

?> 

的错误是

Parse error: syntax error, unexpected T_STRING in H:\xampp1htdocs\1001\test_login.php on line 10

+1

“查找我的语法错误”的确是一个“太局限”的问题。 – 2012-02-25 10:49:22

回答

0

你不应该有分号mysql_select_db("login")后第8行

0

你忘了分号在这行结尾...

$connect = mysql_connect("localhost","1001","Larissa") or die("Couldn't connect") 

此外,作为未来的“参考”,每当PHP给你一个错误临时t听起来像意外XXX在YYY行ZZ,它通常是之前的错误说。

+0

当我把分号放在第9行的末尾时,会出现一个错误...解析错误,语法错误意外';'在...上第9行 – 2012-02-24 18:56:18

+0

正如在其他答案中指出的那样,在代码中有多个**错误。 – 2012-02-24 18:58:33

1

你忘了上线8分号,并有9

$connect = mysql_connect("localhost","1001","Larissa") or die("Couldn't connect") // <-- add one here 
mysql_select_db("login"); // <-- remove this one 
or die ("Couldnt find db"); 
0

connect行缺少分号die()上线不正确的一个,和你的mysql_select_db()线有一个多余的分号die()前。

0

您有两个错误。

您忘记了mysql_connect行的分号。当PHP在某个函数调用没有意义的地方找到“mysql_select_db”时,它会认为它是一个未加引号的字符串,并尝试处理它。显然它不能,所以出乎意料地抛出了T_STRING

另一个错误是,你在拨打select_db之后放了一个分号,但在or die之前。去掉它。

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

if ($username && $password) 
{ //fix number 1 - instead of "(" 

    $connect = mysql_connect("localhost","1001","Larissa") or die("Couldn't connect"); //fix number 2 (added ;) 
    mysql_select_db("login")or die ("Couldnt find db"); //fix number 3 

} //fix number 4 - instead of "(" 

else 
die("Please enter a username and a password"); 

?> 
2
$username = $_POST['username']; 
$password = $_POST['password']; 

if ($username&&$password) 
(// this should be { 

$connect = mysql_connect("localhost","1001","Larissa") or die("Couldn't connect") // insert ; here 
mysql_select_db("login"); // remove ; 
or die ("Couldnt find db"); 

) // this should be } 

else 

die("Please enter a username and a password"); 

?> 

也:

  1. 使用or die()是一个非常不好的编程风格。这主要是因为用户显示错误消息,他们不会明白
  2. 检查,如果请求的值在使用之前需要设置
  3. 学会缩进代码正确
  4. 空间可以使代码更易读
  5. 不使用mysql如果你不想使用PDO至少考虑使用mysqli