Jump to content


Photo

[php5] __construct Vs Mysqli


  • Faça o login para participar
1 reply to this topic

#1 Acid House

Acid House

    Foresight Linux User

  • Usuários
  • 179 posts
  • Sexo:Não informado
  • Interesses:php + balada + mulhé

Posted 31/07/2006, 10:49

Pessoal estou com uam dúvida meio besta aqui em relação ao uso da classe mysqli no php 5...

digamos que eu crie uma classe com o nome de db e na função construtora da classe eu coloque a conexão com o banco de dados, depois crie funções de execução no banco de dados.... como eu vou passar o objeto de conexão da função constutora para as demais funções?

vou fazer um exemplo aqui
<?PHP

class db {

  public __contruct() {

   $mysqli = mysqli_init();
   $mysqli->real_connect( servidor, usuario, senha, db);

   if ( mysqli_connect_errno()){

	  thror new exception(" Não conectou ao servidor mysql.");

   } else {
	 
	  return true;
  }

  public function executaSQL( $sql) {

	# aqui está o porem, como eu vou puxar o objeto $mysqli da função construtora ?
	 $dataSet = $mysqli->prepare($sql);
	 $dataSet->execute();
	 $dataSet->store_result();

	  if ( $dataSet->num_rows() > 0 ) {

		 return true;
	  } else {

	   return false;
	  }
 
	 $dataSet->free_result();
	 $dataSet->close();
  }
}


Espero que alguem possa me ajudar =]
Foresight Linux User

Foresight Linux Site

#2 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 31/07/2006, 18:55

Crie uma propriedade para a sua classe, assim:

class db {
	private $conn;

	function __construct(...) {
		$this->conn = mysqli_init();
		...
	}

	function execute($sql) {
		$dataset = $this->conn->prepare($sql);
		...
	}
}


Espero ter ajudado...


[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq