Manejo de conexiones PHP y MySQL

peque91 Seguir

Beta
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Sep 2013
Mensajes
40
Hoy venia a preguntarles de que manera conectan sus aplicaciones en php con mysql cuando necesitan usar bases de datos.

Yo empecé usando el plugin clásico de mysql que viene por defecto en cualquier servidor php pero últimamente he estado probando las librerías PDO las cuales se basan en POO y las cuales controlan automáticamente el sql-injection.

Y bueno la pregunta es si alguien usa o uso alguna vez PDO si tiene algún bug o algo importante a resaltar.

Un saludo
 

peque91

Beta
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Sep 2013
Mensajes
40
Pero no veo ninguna instrucción para evitar el sql-injection, no hay ni html-entities ni ninguna parecida, no?
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.101
Hoy venia a preguntarles de que manera conectan sus aplicaciones en php con mysql cuando necesitan usar bases de datos.

Yo empecé usando el plugin clásico de mysql que viene por defecto en cualquier servidor php pero últimamente he estado probando las librerías PDO las cuales se basan en POO y las cuales controlan automáticamente el sql-injection.

Y bueno la pregunta es si alguien usa o uso alguna vez PDO si tiene algún bug o algo importante a resaltar.

Un saludo

google...
mysql - How can I prevent SQL injection in PHP? - Stack Overflow
 

peque91

Beta
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Sep 2013
Mensajes
40
No vengo a preguntar como prevenir el SQL injection, soy programador web y algo he visto aunque lleve poco tiempo en este mundo. El post es para preguntar con experiencias de gente que use las librerías mysql y las PDO ya que son diferentes y yo uso las PDO porque por mi experiencia son mas potentes y pensaba que no era necesario tener en cuenta la sql injection ya que la propia librería lo hace internamente pero por lo que me comenta Strings puede que este equivocado con esto ultimo. Un saludo
 

ecoal95

Gamma
Programador
Desde
1 Sep 2012
Mensajes
243
Creo que a lo que se refiere Strings es a que PDO no controla las inyecciones automáticamente, símplemente lo facilita. Me explico:

Insertar CODE, HTML o PHP:
$pdo->query("SELECT * FROM users WHERE id=" . $_GET['user_id']); // BAM! Inyección sql con PDO.

Si la usas como se debe usar:

Insertar CODE, HTML o PHP:
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:user_id");
$stmt->bindParam(':user_id', $_GET['user_id'], PDO::PARAM_INT); // No hay inyección, pdo lo escapa y lo transforma a un número (si el dato no es válido supongo que lo transformará a cero y te devolverá null, pero no estoy seguro de eso)
$stmt->execute();
 

peque91

Beta
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 Sep 2013
Mensajes
40
A claro eso si, a lo que yo me refería es que no hay que aplicarle 3 o 4 funciones de encriptacion / desencriptacion a cada campo que se envía, por supuesto la sentencia prepare hay que usarla si no es como dejar la puerta abierta para que entren los malos jejeje.
 
Arriba