ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### update **修改数据,该函数将根据参数中设置的条件而更新表中数据** **参数** conditions 数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。 row 数组形式,修改的数据, \* 此参数的格式用法与create的$row是相同的。在符合条件的记录中,将对$row设置的字段的数据进行修改。 ~~~ public function update($conditions, $row) { $where = ""; $row = $this->__prepera_format ( $row ); if (empty ( $row )) return FALSE; if (is_array ( $conditions )) { $join = array (); foreach ( $conditions as $key => $condition ) { $condition = $this->__val_escape ( $condition ); $join [] = "{$key} = '{$condition}'"; } $where = "WHERE " . join ( " AND ", $join ); } else { if (null != $conditions) $where = "WHERE " . $conditions; } foreach ( $row as $key => $value ) { $value = $this->__val_escape ( $value ); //2011-01-04修改 //if ($value == 'NULL') if ($value === 'NULL') //2011-01-04修改 $vals [] = "{$key} = NULL"; else $vals [] = "{$key} = '{$value}'"; } $values = join ( ", ", $vals ); $sql = "UPDATE {$this->tbl_name} SET {$values} {$where}"; //echo $sql; return $this->_db->query ( $sql ); } ~~~