以下是我想要了解的一个例子:
return (@mysql_query($sql)) ? true:false;
如果成功执行此行,我想返回true或false:
$this->sql->execute();
有人可以解释一下这个如果这样的东西是如何工作的,我该如何在我的线上使用它?
答案 0 :(得分:1)
此语句执行mysql_query()
调用,如果成功,则从其所在的函数返回布尔值TRUE
。如果SQL查询失败,则返回布尔值FALSE
。
是否可以使用此构造取决于您是否希望execute()
调用返回结果集(在SELECT
语句中)或是否用于INSERT/UPDATE/DELETE
。如果使用SELECT
语句尝试此操作,则无法使用此语句获取结果行。
如果仅适用于INSERT/UPDATE/DELETE
,您可以
return $this->sql->execute() ? true : false;
但是,我们仍然无法确定这是否有效,因为您尚未发布调用execute()
的类的内容。
三元运算符用于根据条件的结果分配或返回一个值或另一个值。
$returned_or_assigned_value = condition ? true_return_val : false_return_val;
三元操作通常用于将两个值中的一个赋值给变量。如果您将变量受让人视为函数的返回,则在返回语句中使用它们是类似的操作。