Foros del Web » Programando para Internet » PHP »

you can't run this command now

Estas en el tema de you can't run this command now en el foro de PHP en Foros del Web. Tengo un procedure que hace todo el crud de la BD.. funciona muy bien cuando llamo directamente al procedure desde phpMyAdmin / workbench.. o cuando ...
  #1 (permalink)  
Antiguo 24/11/2014, 15:20
 
Fecha de Ingreso: febrero-2014
Mensajes: 25
Antigüedad: 10 años, 1 mes
Puntos: 1
you can't run this command now

Tengo un procedure que hace todo el crud de la BD.. funciona muy bien cuando llamo directamente al procedure desde phpMyAdmin / workbench.. o cuando lo ejecuto directamente desde php. PERO cuando intento borrar más de un registro luego de haber insertado otros me aparece este error "Commands out of sync; you can't run this command now".

He leído que se debe a que debo limpiar/liberar la consulta anterior o algo así.. pero después de varios intentos no puedo solucinarlo u.u

Aquí creo el objeto MySqli

Código PHP:
try {
            
$this->connection = new mysqli($this->objConfig->host$this->objConfig->user$this->objConfig->password$this->objConfig->dataBase);
            
$this->connection->set_charset('utf8');
            
$this->connection->connect_errno;
        } catch (
exception $e) {
            
$this->objLog->setMessage('00002: ' $e->getMessage());
            
$this->objLog->setError($this->objLog);
            return 
false;
        } 
Aquí está la función que ejecuta los procedures

Código PHP:
public function mysqlSimpleExecute($sql) {
        try {
            
$result $this->connection->query($sql);
            
//$result->free();
            //mysqli_free_result($result);
            //$this->connection->next_result();
            //echo $this->connection->error; error que les digo que me bota
            
            
if (!$result) {
                return 
false;
            } else {
                return 
true;
            }
        } catch (
exception $e) {
            
$this->objLog->setMessage('00003: {' $sql '} ' $e->getMessage());
            
$this->objLog->setError($this->objLog);
            return 
false;
        }
    } 
Esta eslafunción para generar procedure que hará el DELETE

Código PHP:
public function executeDelete() {
        
$mTable explode(" "$this->getTables());
        
$table $mTable[0];
        
$where $this->getWhereFields('delete');
        
$sqlExecute 'call spTransaction("DELETE","' $table '","","","","' $where '","","","");';
        return 
$this->mysqlSimpleExecute($sqlExecute);
    } 
Alguna idea? Gracias de antemano

Etiquetas: mysql
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 11:38.