2012-02-24 103 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