我有一个像这样的PHP函数:
function add($db, $value) {
try {
$stmt = $db->prepare("INSERT INTO table(value) VALUES (?);");
$stmt->execute(array($value));
}
catch(PDOException $e) {
error_log($e->getMessage());
// Error handeling
}
}
如果查询成功并且没有异常,则该函数不应该返回TRUE吗?
获取上述函数的唯一方法是返回TRUE,如果我修改“try”部分:
if ($stmt->execute(array($value))) {
return TRUE;
}
我错过了什么?
答案 0 :(得分:0)
如果省略返回值,则返回NULL值。
由于NULL
在大多数情况下被评估为false,因此答案为否,除非明确声明,否则此函数不会返回TRUE
。 E.g:
function add($db, $value) {
try {
$stmt = $db->prepare("INSERT INTO table(value) VALUES (?);");
if ($stmt->execute(array($value))) {
return TRUE;
}
}
catch(PDOException $e) {
error_log($e->getMessage());
// Error handeling
}
// If we got here, the execute did not succeed
return FALSE;
}