hola a todos
les quiero preguntar algo a la gente con mas experiencia en php 5.x + mysql 5.x + POO, tengo una clase para manejar mysql con SP pero cada vez que quiero usar la clase para leer diferentes SP tengo que hacerle un NEW si no me da error "
Commands out of sync; you can't run this command now" supuestamente en POO se instancia una clase solo una vez y despues llamas a los metodos?
mi clase
Código PHP:
<?php
class MyBD5
{
private $ID_BD;
//Constructor
function __construct($host, $bd, $user, $pass)
{
$this->ID_BD = mysqli_connect($host, $user, $pass, $bd);
if (!$this->ID_BD)
{
printf("Error de Conexion, Codigo: %s\n", mysqli_connect_error());
exit;
}
}
//Metodo Consultar query
public function Consultar($query)
{
$rs = mysqli_query($this->ID_BD,$query);
if(!$rs)
{
echo 'Sql Error: ' . mysqli_error($this->ID_BD);
exit;
}
return $rs;
}
//Metodo Resultado query
public function Registro($query)
{
return mysqli_fetch_array($query);
}
//Metodo Libera
public function Libera($query)
{
mysqli_free_result($query);
}
//Destructor
public function __destruct()
{
mysqli_close($this->ID_BD);
}
}
?>
la uso asi
Código PHP:
$d2= new MyBD5("localhost","atarilab","root","");
$c2=$d2->Consultar("call sp_mm_referencia(704)");
while($r2 = $d2->Registro($c2)){
echo ($r2[5]."<br>");
}
$d2= new MyBD5("localhost","atarilab","root","");
$c3=$d2->Consultar("call sp_mm_referencia(705)");
while($r3 = $d2->Registro($c3)){
echo ($r3[5]."<br>");
}
asi funciona, pero si elimino el segundo NEW manda el mensaje que digo
Código PHP:
$d2= new MyBD5("localhost","atarilab","root","");
$c2=$d2->Consultar("call sp_mm_referencia(704)");
while($r2 = $d2->Registro($c2)){
echo ($r2[5]."<br>");
}
$c3=$d2->Consultar("call sp_mm_referencia(705)");
while($r3 = $d2->Registro($c3)){
echo ($r3[5]."<br>");
}
no se que pasa, por que hay que poner dos NEW o en php es asi?
saludos y gracias