如何“做某事或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"; }