Correct dba::close() To Match dba::p()
This commit is contained in:
parent
4b0cf8d60f
commit
c600ccad5c
1 changed files with 13 additions and 3 deletions
|
@ -349,7 +349,7 @@ class dba {
|
||||||
* For all regular queries please use dba::select or dba::exists
|
* For all regular queries please use dba::select or dba::exists
|
||||||
*
|
*
|
||||||
* @param string $sql SQL statement
|
* @param string $sql SQL statement
|
||||||
* @return bool|object statement object
|
* @return bool|object statement object or result object
|
||||||
*/
|
*/
|
||||||
public static function p($sql) {
|
public static function p($sql) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
@ -1404,8 +1404,18 @@ class dba {
|
||||||
$ret = $stmt->closeCursor();
|
$ret = $stmt->closeCursor();
|
||||||
break;
|
break;
|
||||||
case 'mysqli':
|
case 'mysqli':
|
||||||
$stmt->free_result();
|
// MySQLi offers both a mysqli_stmt and a mysqli_result class.
|
||||||
$ret = $stmt->close();
|
// We should be careful not to assume the object type of $stmt
|
||||||
|
// because dba::p() has been able to return both types.
|
||||||
|
if ($stmt instanceof mysqli_stmt) {
|
||||||
|
$stmt->free_result();
|
||||||
|
$ret = $stmt->close();
|
||||||
|
} elseif ($stmt instanceof mysqli_result) {
|
||||||
|
$stmt->free();
|
||||||
|
$ret = true;
|
||||||
|
} else {
|
||||||
|
$ret = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue