php oop existe uma maneira de configurar automaticamente essas variables

class User extends DatabaseObject { protected static $table_name='users'; protected static $db_fields = array(); public function __construct() { // Get columns from table global $database; $result_set = $database->query("SELECT * FROM ".self::$table_name." LIMIT 1"); $num_fields = mysql_num_fields($result_set); for($i=0; $i{$column_name}; // THIS IS PROBLEMATIC! } } 

por exemplo, este $name = pulic $wherever; então eu posso chamar, por exemplo, wherever->wherever ;

de modo que eu não tenho que digitar esse nome sempre que eu adicionar as variables

 public $md5; public $credit; public $pontaria_time; public $Credits; public $airoplayne; public $city_id; public $prisao_time; public $crime2; public $banck_time; 

  $this->{$column_name}; // THIS IS PROBLEMATIC! 

Você precisa usar

 $this->$column_name = $column_value 

OU você pode escrever todas as colunas no campo $ db_fields e adicionar

 public function __get($name) {} 

(Leia sobre methods mágicos )

Eu acho que não entendo sua pergunta, mas acho que você quer usar o operador de referências :

 class MyClass { protected $name; public myfunction() { $foo = $this->name; $this->name = &$foo; // now $foo is a reference to $this->name } } 

Um … Eu acho que você está perguntando como não ter que declarar explicitamente as propriedades. Nesse caso, faça isso:

 for($i=0; $i< $num_fields; $i++) { $column_name = mysql_field_name($result_set, $i); $this->$column_name = ""; } 

Isso irá adicionar todos os nomes das colunas como propriedades à sua class, por padrão como público. Então você pode acessá-los usando $ this-> md5, $ this-> credit, etc …

Você provavelmente deve olhar para PDO e retornar linhas e objects e aplicar um casting para ele … O PDO buscou methods onde você especifica um nome de class e faz esse tipo de coisa de forma automática. Eu recomendo NÃO criar sua própria biblioteca de abstração de database ou ORM, já que já existem muito bons.