É certo usar essa Classe de conexão?
Galera óia eu aki di novo.
Tenho um sistema e nele uso uma classe de conexao com o banco de dados e segue essa classe:
CODE
class MySQL {
var $host = '127.0.0.1';
var $usr = 'root';
var $pw = '123';
var $db = 'sistema';
var $sql;
var $conn;
var $resultado;
function connMySQL() {
$this->conn = mysql_connect($this->host,$this->usr,$this->pw);
if(!$this->conn) {
echo "<p>Nâo foi possível conectar-se ao servidor MySQL.</p>\n"
.
"<p><strong>Erro MySQL: " . mysql_error() . "</strong></p>\n";
exit();
} elseif (!mysql_select_db($this->db,$this->conn)) {
echo "<p>Não foi possível selecionar o Banco de Dados desejado.</p>\n"
.
"<p><strong>Erro MySQL: " . mysql_error() . "</strong></p>\n";
exit();
}
}
function runQuery($sql) {
$this->connMySQL();
$this->sql = $sql;
if($this->resultado = mysql_query($this->sql)) {
$this->id_entidade = mysql_insert_id();
$this->closeConnMySQL();
return $this->resultado;
} else {
//<p>Não foi possível executar a instrução SQL:</p><p><strong>$sql</strong></p>
exit("<p>Erro MySQL: " . mysql_error() . "</p>");
$this->closeConnMySQL();
}
}
function closeConnMySQL() {
return mysql_close($this->conn);
}
}
Sei que quando abro uma conexão com mysql_connect() se eu não fecha-la manualmente ele será fechada posteriomente, mas sei que pelas boas praticas de programação é melhor fecha-la com o mysql_close().
Quando quero fazer algum tipo de manipulação (INSERT, UPDATE, DELETE) no bd eu faço o seguinte:
CODE
$mySQL = new MySQL;
$result = $mySQL->runQuery("SELECT * FROM tabela;");
Assim a conexão será executada junto a query e logo em seguida é feito o fechamento da conexão.
agora a dúvida, quando eu tenho varios inserts em um mesmo arquivo php (para exemplo vamos dizer uns 5 inserts) eu chamo a classe MySQL porem em cada chamada ela abre a conexao, executa o insert e fecha a conexao e gostaria de saber se isso esta certo, se fazendo isso eu nao estarei deixando o sistema lento de alguma forma e se quando eu nao faco o fechamento da conexão o php fecha a conexao automaticamente e isso ocorre logo em seguida a execução da minha query ou tem algum tempo definido em algum lugar?
fico no aguardo
Obrigado
Elton
Discussão (13)
Carregando comentários...