array(), 'field_names' => '', 'field_values' => '', 'field_set' => '', ); foreach ($valid_fields as $input_field_name => $db_field_name) { if (isset($fields[$input_field_name])){ $return['field_names'] .= "`$db_field_name`, "; $return['field_values'] .= "'$fields[$input_field_name]', "; if($db_field_name != $inner_id) $return['field_set'] .= "$db_field_name='$fields[$input_field_name]', "; $return['fields_to_save'][$db_field_name] = $fields[$input_field_name]; } elseif(isset($fields[$db_field_name])){ $return['field_names'] .= "`$db_field_name`, "; $return['field_values'] .= "'$fields[$db_field_name]', "; if($db_field_name != $inner_id) $return['field_set'] .= "$db_field_name='$fields[$db_field_name]', "; $return['fields_to_save'][$db_field_name] = $fields[$db_field_name]; } } $return['field_names'] = trim($return['field_names'], ", "); $return['field_values'] = trim($return['field_values'], ", "); $return['field_set'] = trim($return['field_set'], ", "); return $return; } public static function save($table, $fields, $valid_fields, $inner_id = "id") { $match_fields = self::matchFieldsToSave($fields, $valid_fields); if (empty($match_fields['fields_to_save'][$inner_id])) { $sql = "INSERT INTO `$table` ($match_fields[field_names]) VALUES ($match_fields[field_values])"; mysql_query($sql); $id = mysql_insert_id(); } else { $id = $match_fields['fields_to_save'][$inner_id]; $t = self::select($table, $inner_id, $id); if(empty($t)){ $sql = "INSERT INTO `$table` ($match_fields[field_names]) VALUES ($match_fields[field_values])"; } else { $sql = "UPDATE `$table` SET $match_fields[field_set] WHERE $inner_id=$id"; } mysql_query($sql); } return $id; } public static function select($table, $col_name, $col_value = NULL, $operator = '=') { if(is_null($col_value)){ $sql = "SELECT * FROM $table"; } else { if(is_numeric($col_value)){ $sql = sprintf('SELECT * FROM `%s` WHERE `%s`%s%d', $table, $col_name, $operator, $col_value); } elseif(is_string($col_value)){ $sql = sprintf('SELECT * FROM `%s` WHERE `%s`%s"%s"', $table, $col_name, $operator, $col_value); } else { $sql = ''; } } $res = mysql_query($sql); $num_rows = mysql_num_rows($res); if ($num_rows == 0) { $return = []; } elseif($num_rows == 1){ $return[0] = mysql_fetch_assoc($res); } else { while ($row = mysql_fetch_assoc($res)) { $return[] = $row; } } return $return; } public static function delete($table, $col_name, $col_value, $is_numeric = true) { if($is_numeric && is_numeric($col_value) && $col_value > 0) { $sql = "DELETE FROM `$table` WHERE $col_name=$col_value"; mysql_query($sql); return mysql_affected_rows(); } elseif(!$is_numeric && is_string($col_value)){ $sql = "DELETE FROM `$table` WHERE $col_name='$col_value'"; mysql_query($sql); return mysql_affected_rows(); } else { return 0; } } public function get($name){ if(isset($this->$name)) { return $this->$name; } else { return false; } } }