我目前正在开发一个使用MySQLi进行数据库访问的网站。目前,执行数据库查询的代码如下所示:
$query = "SELECT height, color FROM llamas WHERE name = ?";
if(!$stmt = $connection->prepare($query)) {
// Error handling here.
}
$stmt->bind_param("s", $name);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($height, $color);
$stmt->fetch();
$stmt->close();
大多数调用的返回值返回FALSE
以指示问题。来自PHP文档:
成功时返回
TRUE
或失败时返回FALSE
。
如果我尝试检查所有这些函数调用是否为false,我会得到类似的结果:
$query = "SELECT height, color FROM llamas WHERE name = ?";
if(!$stmt = $connection->prepare($query)) {
// Error handling here.
}
if(!$stmt->bind_param("s", $name)) {
// Error handling here.
}
if(!$stmt->execute()) {
// Error handling here.
}
if(!$stmt->store_result()) {
// Error handling here.
}
if(!$stmt->bind_result($height, $color)) {
// Error handling here.
}
if(!$stmt->fetch()) {
// Error handling here.
}
if(!$stmt->close()) {
// Error handling here.
}
我的问题是:我确实需要检查哪些函数调用才能检查FALSE
的返回值?这样做是否有一种整洁的方式?
答案 0 :(得分:0)
我会使用PDO
和try
- catch
try {
// your code here
} catch(PDOException $e){
error_log('ERROR: ' . $e->getMessage());
}
编辑:这是MySQLi版本
try {
} catch (mysqli_sql_exception $e) {
}