我正在尝试操作
PHP脚本,以便重定向到特定的URL,而不是给我一个MysqL错误.所以我离开了……
$qs = MysqL_query("SELECT url FROM $table WHERE `id` = $gid;") or die('MysqL error: '.MysqL_error());
……对此:
$qs = MysqL_query("SELECT url FROM $table WHERE `id` = $gid;") or header("Location: http://www.example.com");
哪个有效,但有两件事与我有关.首先,它默认为302重定向,我更喜欢301重定向.其次,我担心通过从这一行删除die(),重定向后脚本没有正确退出.
现在,我在这里完成了一些功课,但是我无法弄清楚是否可以将die()与两行代码中的header()组合在一起(即不改变这条特定行的内容) ).
除了“你不应该这样做”的说明,这里你可以这样做:
$qs = MysqL_query(...) or (header(...) xor die);
说明:xor就像或差别一样,可以保证双方的表达式得到评估并且不会被短路. (好的,xor与or不同,但是为了这个答案的目的并不重要.)