检查查询是否成功的首选方法

时间:2016-07-15 08:45:38

标签: mysqli

检查查询是否成功时,哪个更好?

/* for values to >= count, prefixed CharacterView will be suffixed until its end */
extension CollectionType where Generator.Element == Character {
    func inHalfOpenRange(from: Int, to: Int) -> Self {
        guard case let to = min(to, underestimateCount()) where from <= to else {
            return self.prefix(0) as! Self
        }
        return self.prefix(to).suffix(to-from) as! Self
    }
}

/* example */
let m = "0123456789"    
for ch in m.characters.inHalfOpenRange(4, to: 8) {
    print(ch)         /*  \                                   */
} /* 4                     a (sub-collection) CharacterView
     5
     6
     7 */

或者这个:

$query= "SELECT * FROM `table`"; 
$mysqliResult = $mysqli->query($query);

if(mysqli_num_rows($mysqliResult)) {

}

2 个答案:

答案 0 :(得分:1)

<强>都不是。

第一个根本不是一个选项。它只是不适用,因为空洞的结果也是合法的结果 - 无论如何,查询都是成功的 此外,如果查询不成功,这个代码本身就会抛出错误!

第二个可以用于此目的,但这种方法已经过时,非常不方便。

相反,在异常投掷模式下设置mysqli,你根本不需要代码来测试成功!

答案 1 :(得分:0)

第一个选项更好,因为您只检查查询是否成功,但我们使用的第二个选项是当我们需要检查值和数据类型相等时,首先更好