Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Al realizar una segunda consulta en el mismo php: MySQL Error: Commands out of sync;

Estas en el tema de Al realizar una segunda consulta en el mismo php: MySQL Error: Commands out of sync; en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/03/2012, 03:13
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
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...
  #2 (permalink)  
Antiguo 21/03/2012, 04:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Al realizar una segunda consulta en el mismo php: MySQL Error: Commands ou

¿Te has dado cuenta que tu post no contiene en realidad ninguna sentencia de SQL para analizar, y que lo más parecido es un par de llamadas a procedimientos almacenados?
Ni siquiera podemos saber qué es lo que se supone que hacen los SP, por lo que mal podemos dar una opinión.
El resto es PHP, y eso es off-topic, lo que implica que no podemos responderlo.

Por lo demás, tu problema parece más de programación que de MySQL. Al menos eso es lo que se desprende de lo que significa MySQL Error: Commands out of sync; you can't run this command now.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/03/2012, 04:28
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
Respuesta: Al realizar una segunda consulta en el mismo php: MySQL Error: Commands ou

Lo siento las dos query solo hacen un select (select * from marcas y select * from articulos), no es problema de la query(puesto que si hago una o la otra y no una seguida de otra funciona), es problema de la clase mysql , que al realizar una query y luego realizar otra falla y da ese mensaje. Supongo que esta intentado utilizar algo en la segunda query que aun sigue en uso de la primera ... La verdad que me equivoque de sitio, lo siento a veces me lio.
Por cierto si tienes un minuto podrias pasarte por : http://www.forosdelweb.com/f86/probl...campos-982497/ solo me falla un pequeño detalle de lo que ayer me comentaste.
Gracias otra vez gnzsoloyo;)

Última edición por ferminako; 21/03/2012 a las 04:39 Razón: ui
  #4 (permalink)  
Antiguo 21/03/2012, 04:41
 
Fecha de Ingreso: abril-2010
Mensajes: 298
Antigüedad: 14 años
Puntos: 1
Respuesta: Al realizar una segunda consulta en el mismo php: MySQL Error: Commands ou

he abierto de nuevo en PHP este problema , disculpas una vez mas ;) http://www.forosdelweb.com/f18/error...-query-982669/

Etiquetas: commands, php, query, registros, segunda, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.