如何“做某事或DIE()”在PHP中工作?

我正在写一个PHP应用程序来访问一个MySQL数据库,并在一个教程,它说了一些forms

mysql_connect($host, $user, $pass) or die("could not connect"); 

PHP如何知道该函数失败,以便它运行模具部分? 我想我是问如何“或”的一部分工作。 我不认为我以前见过。

如果第一个语句返回true ,那么整个语句必须是true因此第二个语句不会被执行。

例如:

 $x = 5; true or $x++; echo $x; // 5 false or $x++; echo $x; // 6 

因此,如果您的查询不成功,它将评估die()语句并结束脚本。

PHP的or像C的|| (顺便也支持PHP – or只是看起来更好,并具有不同的运算符优先级 – 见本页 )。

它被称为短路运营商,因为一旦有足够的信息来决定最终价值,它将跳过任何评估。

在你的例子中,如果mysql_connect()返回TRUE,那么PHP已经知道,无论die() evalutes是什么,整个语句都会计算为TRUE,因此die()不被计算。

如果mysql_connect()返回FALSE,则PHP不知道整个语句是否会计算为TRUE或FALSE,因此它会继续并尝试评估die() – 结束进程中的脚本。

这只是一个很好的伎俩,利用的方式or作品。

它像其他人所描述的那样工作。

在PHP中,不要使用“死”,因为它不会引发exception(就像在Perl中那样)。 而是以正常的方式正确地抛出exception。

死亡不能被PHP捕获,并且不会被logging,而是会不经意地打印信息,立即退出脚本而不告诉任何人或给你任何机会logging事件,重试等。

 $con=mysql_connect($host, $user, $pass) if(!$con) { die("could not connect"); } else { echo "Connected"; }