2014-02-14 63 views
-7

我想知道在if(!$db)中使用!的含義。如果是if($db)(沒有感嘆號),我會理解。

我試過在Google和PHP.net上搜索它,但什麼也沒得到。請有人可以幫我嗎?

下面的代碼:

if(!$db) 

die("Database not configured."); 

if(!mysql_select_db("$dbname",$db)) 

die("No database selected."); 
+0

您需要編輯您的問題並顯示您正在討論的代碼。 –

+0

表達式'!$ var'可以被認爲是'$ var == false'。 –

+0

另見:[邏輯運算符](http://php.net/manual/en/language.operators.logical.php)。 –

回答

1

!標誌否定的表達式。沒有看到任何實際的代碼,我們只能猜測你的程序做了什麼。我懷疑你正在看的代碼試圖打開一個到數據庫的連接。如果連接失敗,表達式!$db將爲true$db將評估爲false)。這可能會提示代碼處理例外和打印錯誤聲明等。

+0

已編輯。我插入了代碼 – Inyavic

0

該運算符的行爲描述爲here in the manual

如果表達式不是TRUE,則返回TRUE,反之亦然。

在這種特殊情況下,你可以實現爲同一件事情:

mysql_connect(...) or die("Database not configured."); 
mysql_select_db("$dbname",$db) or die("No database selected."); 

順便說一句,你不應該使用mysql_功能了;考慮切換到mysqli或PDO。

+0

爲什麼這麼說@ Jack – Inyavic

+0

我不確定你在問我什麼。 –

+0

@Fred,db包含dbname和dbuser – Inyavic