用于 ! in if(!$ db)

时间:2014-02-14 03:29:39

标签: php

我想知道!if(!$db)的用法/含义。如果它是if($db)(没有感叹号),我会明白的。

我已经尝试过搜索谷歌和PHP.net但却一无所获。请有人帮帮我吗?

以下是代码:

if(!$db)

die("Database not configured.");

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

die("No database selected.");

2 个答案:

答案 0 :(得分:1)

!符号否定表达式。在没有看到任何实际代码的情况下,我们只能猜测您的程序是做什么的。我怀疑您正在查看的代码尝试打开与数据库的连接。如果连接失败,则表达式!$db将为true$db将评估为false)。这可能会提示代码处理异常以及打印和错误语句等。

答案 1 :(得分: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。