MySQL/i$db->query('some query')
将返回成功SELECT
SHOW
DESCRIBE
EXPLAIN
的结果集,或,或返回成功true
的,,,,等。INSERT
UPDATE
DELETE
DROP
因此,我们可以轻松识别查询的“类型”:
$result = $db->query('some query that we want to identify');
if($result === false){
echo 'Error'; exit;
}
if($result === true){
// query is a successful INSERT, UPDATE, DELETE, DROP, etc.
}else{ // else type of $result will be result set
// query is a successful SELECT, SHOW, DESCRIBE, EXPLAIN
}
我们如何使用PHP ADOdb完成上述操作?
我目前正在使用:
$result = $db->Execute('some query');
if($result === false){
echo 'Error'; exit;
}
if(get_class($result) === 'ADORecordSet_empty'){
// query is a successful INSERT, UPDATE, DELETE, DROP, etc?
}else{
// query is a successful SELECT, SHOW, DESCRIBE, EXPLAIN ?
}
这似乎可行,但它确实感觉很脆弱并且“与 API 对抗”。有更好的方法吗?
是否有内置的 ADOdb 函数可以做到这一点?