JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
* template.php (tem->merge): only append expansions for show()n templates.
[wfpl.git] / db.php
diff --git a/db.php b/db.php
index cd68d8d..51452b8 100644 (file)
--- a/db.php
+++ b/db.php
@@ -151,13 +151,29 @@ function db_send_get($table, $columns, $where, $args) {
 }
 
 
-function db_get_rows($table, $columns, $where = '', $type = MYSQL_NUM) {
+function db_get_rows($table, $columns, $where = '') {
        $args = func_get_args();
        $args = array_slice($args, 3);
        $result = db_send_get($table, $columns, $where, $args);
 
        $rows = array();
-       while($row = mysql_fetch_array($result, $type)) {
+       while($row = mysql_fetch_row($result)) {
+               $rows[] = $row;
+       }
+
+       mysql_free_result($result);
+
+       return $rows;
+}
+
+# like db_get_rows, but return array of hashes.
+function db_get_assocs($table, $columns, $where = '') {
+       $args = func_get_args();
+       $args = array_slice($args, 3);
+       $result = db_send_get($table, $columns, $where, $args);
+
+       $rows = array();
+       while($row = mysql_fetch_assoc($result)) {
                $rows[] = $row;
        }
 
@@ -181,12 +197,25 @@ function db_get_column($table, $columns, $where = '') {
        return $column;
 }
 
-function db_get_row($table, $columns, $where = '', $type = MYSQL_NUM) {
+function db_get_row($table, $columns, $where = '') {
+       $args = func_get_args();
+       $args = array_slice($args, 3);
+       $result = db_send_get($table, $columns, $where, $args);
+
+       $row = mysql_fetch_row($result);
+
+       mysql_free_result($result);
+
+       return $row;
+}
+
+# like db_get_row, but return a hash.
+function db_get_assoc($table, $columns, $where = '') {
        $args = func_get_args();
        $args = array_slice($args, 3);
        $result = db_send_get($table, $columns, $where, $args);
 
-       $row = mysql_fetch_array($result, $type);
+       $row = mysql_fetch_assoc($result);
 
        mysql_free_result($result);
 
@@ -257,10 +286,10 @@ function db_insert_ish($command, $table, $columns, $values) {
        db_send_query($sql);
 }
 
-# to be consistant with the syntax of the other db functions, $values can be an
+# to be consistent with the syntax of the other db functions, $values can be an
 # array, a single value, or multiple parameters.
 #
-# as usual the where clause stuff is optional, but it will ofcourse update the
+# as usual the where clause stuff is optional, but it will of course update the
 # whole table if you leave it off.
 #
 # examples:
@@ -287,6 +316,7 @@ function db_update($table, $columns, $values) {
        $num_fields = count($columns);
 
        if(is_array($values)) {
+               $values = array_values($values);
                $args = array_slice($args, 1);
        } else {
                $values = array_slice($args, 0, $num_fields);
@@ -310,7 +340,7 @@ function db_update($table, $columns, $values) {
                $args = array_slice($args, 1);
 
                $sql .= ' ';
-               # any left for where claus arguments?
+               # any left for printf arguments?
                if($args) {
                        $sql .= _db_printf($where, $args);
                } else {