【发布时间】:2015-04-29 23:02:58
【问题描述】:
使用 PHP 的三元运算符来检查数据库中的成功 INSERT(或更一般地说,任何函数的返回值)是否可以接受? PHP 手册似乎对堆叠的三元运算符很谨慎,我的 writeData 函数中嵌入了一些。
#pseudocode variables to give context
$conn = new PDO("mysql:host=localhost;dbname=blah", $user, $pass);
$form = sanitize($_POST);
#writeData returns true on success, false if PDO exception
#do nothing on success, warn if otherwise
writeData($conn, $form) ? : exit("Problem writing data to database.");
编辑:
我实际上在writeData 函数中try 和catch。我还没有输出错误页面。假设我写了错误页面代码并在writeData的catch块中输出,最好这样做:
if(!writeData($conn, $form)) die();
(或者三元版本,我有点同意,尤其是在这种情况下很难阅读)
【问题讨论】:
标签: php pdo ternary-operator