多くの場合、PHPでは次のようになります。
$result = mysql_query($query) or die();
or
Pythonから来て、ブールコンテキストでtrueの場合は最初の値を返し、それ以外の場合は2番目の値を返すため(これを参照) 、これが機能する理由を知っています。
しかし、PHPで上記の手法を別のコンテキストで試してみると、たとえば次のようになります。
$name = "John Doe";
echo $name or "Anonymous";
は最初のor
値( "John Doe")を返さず、1を返します。
mysql_query()の結果の場合にこれが機能するのに、他の場合には機能しないのはなぜですか?mysql_query()の場合に使用するのは悪いことですか(ユーザーに有用なエラーを返さないという事実を無視してください)?