21/03/2012, 03:13
|
| | Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años, 7 meses Puntos: 1 | |
Al realizar una segunda consulta en el mismo php: MySQL Error: Commands out of sync; Buenas al intentar lanzar una segunda query me muestra :
MySQL Error: Commands out of sync; you can't run this command now.
Esta es la clase conexion:
Código PHP:
Ver originalCopiar
<?php class MySQL{
private $conexion; private $total_consultas;
public function MySQL(){
if(!isset($this->conexion)){
$this->conexion = (mysql_connect("localhost","fermin","fermin"))
or die(mysql_error());
mysql_select_db("db",$this->conexion) or die(mysql_error());
}
}
public function consulta($consulta){
$this->total_consultas++;
$resultado = mysql_query($consulta,$this->conexion);
if(!$resultado){
echo 'MySQL Error: ' . mysql_error();
exit;
}
return $resultado;
}
public function sp($nombre,$parametros){
if(!$parametros){
$query='CALL '.$nombre.'()';
}else{
$query='CALL '.$nombre.'('.$parametros.')';
}
return $this->consulta($query);
}
}
Y esta es la primera query:
Código PHP:
Ver originalCopiar
require("php/Clases/GestionMarcas.php");
$GM=new GestionMarcas();
require("php/Clases/mysql.php");
$MySQL=new MySQL();
$marcas=$GM->ListarMarcas($MySQL);
require("php/Vistas/V_ListarMarcas.php");
Estos es la clase que gestiona las Marcas:
Código PHP:
Ver originalCopiar
<?php class GestionMarcas{
public function ListarMarcas($MySQL){
//Listaremos todas las marcas order by Nombre Marca.
return $MySQL->sp("S_Marcas","","");
}
}?>
Y en esta, la segunda query es en la que falla:
Código PHP:
Ver originalCopiar
<?php
require("php/Clases/GestionArticulos.php");
$GA=new GestionArticulos();
//NO VUELVO A CREAR LA ISNTANCIA $MYSQL PUESTO QUE YA EXISTE
$articulos=$GA->ListarArticulosPaginados($MySQL, $_GET['id'], $_GET['regini'], $_GET['regxpag']);
require("php/Vistas/V_ListarArticulosXMarca.php");
?>
Esta es la clase de articulos:
Código PHP:
Ver originalCopiar
<?php class GestionArticulos{
public function ListarArticulosPaginados($MySQL,$IdMarca,$Registro Iicial,$RegistrosXPagina){
//Listaremos todas las articulos order by orden familia y orden articulo de esa marca.
return $MySQL->sp("S_Articulos",$IdMarca.",".$RegistroIicial."," .$RegistrosXPagina);
}
}?>
Se que no es problema de la query puesto que si elimno la primera query y no la hago, la segunda funciona correctamente, por lo que supongo que la conexion se queda ocupada o algo asi... |