From a5fcb369fb411d8ed3a945105a89a146ab96052e Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 11 Aug 2007 14:14:46 +0000 Subject: - Patch #166205 by hswong3i: improved database compatibility of db_result(). Makes it work with DB2, Oracle, etc. --- includes/database.mysql.inc | 11 ++++++----- includes/database.mysqli.inc | 10 +++++----- includes/database.pgsql.inc | 11 ++++------- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'includes') diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index db130b5dc..50819a19a 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -212,14 +212,15 @@ function db_num_rows($result) { * * @param $result * A database query result resource, as returned from db_query(). - * @param $row - * The index of the row whose result is needed. * @return * The resulting field or FALSE. */ -function db_result($result, $row = 0) { - if ($result && mysql_num_rows($result) > $row) { - return mysql_result($result, $row); +function db_result($result) { + if ($result && mysql_num_rows($result) > 0) { + // The mysql_fetch_row function has an optional second parameter $row + // but that can't be used for compatibility with Oracle, DB2, etc. + $array = mysql_fetch_row($result); + return $array[0]; } return FALSE; } diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc index 883bd72f6..38c3ce572 100644 --- a/includes/database.mysqli.inc +++ b/includes/database.mysqli.inc @@ -211,14 +211,14 @@ function db_num_rows($result) { * * @param $result * A database query result resource, as returned from db_query(). -* @param $row -* The index of the row whose result is needed. * @return * The resulting field or FALSE. */ -function db_result($result, $row = 0) { - if ($result && mysqli_num_rows($result) > $row) { - $array = mysqli_fetch_array($result, MYSQLI_NUM); +function db_result($result) { + if ($result && mysqli_num_rows($result) > 0) { + // The mysqli_fetch_row function has an optional second parameter $row + // but that can't be used for compatibility with Oracle, DB2, etc. + $array = mysqli_fetch_row($result); return $array[0]; } return FALSE; diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc index 287b322cf..e63f00b9d 100644 --- a/includes/database.pgsql.inc +++ b/includes/database.pgsql.inc @@ -229,16 +229,13 @@ function db_num_rows($result) { * * @param $result * A database query result resource, as returned from db_query(). - * @param $row - * The index of the row whose result is needed. * @return * The resulting field or FALSE. */ -function db_result($result, $row = 0) { - if ($result && pg_num_rows($result) > $row) { - $res = pg_fetch_row($result, $row); - - return $res[0]; +function db_result($result) { + if ($result && pg_num_rows($result) > 0) { + $array = pg_fetch_row($result); + return $array[0]; } return FALSE; } -- cgit v1.2.3