Foros del Web » Programando para Internet » PHP »

Identificar Tipo de Consulta con clase PDO

Estas en el tema de Identificar Tipo de Consulta con clase PDO en el foro de PHP en Foros del Web. Buenas, Haber si me se explicar. Utilizo la clase PDO para consultar Base de Datos. Y realice un pequeño panel de consultas donde el usuario ...
  #1 (permalink)  
Antiguo 04/01/2014, 10:38
 
Fecha de Ingreso: diciembre-2012
Mensajes: 69
Antigüedad: 11 años, 11 meses
Puntos: 0
Identificar Tipo de Consulta con clase PDO

Buenas,
Haber si me se explicar.

Utilizo la clase PDO para consultar Base de Datos.

Y realice un pequeño panel de consultas donde el usuario ingresa:
select*++
delete*+++
update*++
trun*+
show
etc..


Y quiero saber si hay manera de identificar que tipo de "query" es el que se esta ejecutando.
Por ejemplo cuando uso el SELECT, no afecta registros pero si obtiene el total. y cuando se usa algun query que no se puede realizar un ::fetchassoc:: no puedo desplegar nada.
Entonces, lo que necesito es identificar unicamente cuando es select**++

Lo que uso actualmente es separar las cadenas por espacio [ $x = regexp(" ",$cadena) ]
Y tomar el elemento de la posicion 0 [ $x[0]=='select' ], pero eso se me hace un poco sucio ya que hay consultas que inician con parentesis () sin ocacionar confilctos....

jeje espero haberme explicado, Saludos.
  #2 (permalink)  
Antiguo 04/01/2014, 12:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Identificar Tipo de Consulta con clase PDO

1.Todas las consultas retornan algo, o registros o numero de registros afectados o un booleano indicando si hatenido exito o no.

2.La solución de analizar el texto de la query no es tan mala... no se en que casos una query puede empezar por ( .... pero si existen no creo que pueda empezar por nada mas.... siempre puedes eleiminar los ( del primer elemento antes de compararlo...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 07/01/2014 a las 01:41
  #3 (permalink)  
Antiguo 04/01/2014, 12:18
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Identificar Tipo de Consulta con clase PDO

yo uso una clase para eso y aplique el mismo metodo revisar la query para saber si updatea, selecciona, inserta etc...

en si como estas haciendo esta ok
  #4 (permalink)  
Antiguo 04/01/2014, 20:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 69
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Identificar Tipo de Consulta con clase PDO

Por el momento esto ayuda :P
------------------------------------------------------------------------------------------------------------------------

$query = strtolower($_POST['query']);
$cadena = preg_replace("/[a-zA-Z]+/", " ", $query );
$arr_cadena = explode(" ",$cadena);

if($arr_cadena[0]=='select')
{
echo "<h1>Es un Select :) </h1>";
$array_data = $_Conection->retrieve($query);
}{

$reg_afectados = $_Conection->transacction($query);
echo "<h1>Es Transacción show, desc, update, delete, truncate registros afectados [$reg_afectados]</h1>";

}

Etiquetas: clase, pdo, registro, select, tipo
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 22:18.