+34 669126284 jorvidu@gmail.com

La forma standard de conectarse por parte de DW a una Base de datos, tal y como viene en sus asistentes, viene siendo utilizando el standard del mismo, la extensión MySQL de PHP. Sin embargo, esta extensión ya es antiquísima, esto es, ha sido ultrajada y violada por todas partes con multitud de scripts, y técnicas como SQL Injection, etc…

Con el fin de mejorar la forma de conexión, los chicos de PHP han traído ya hace un tiempo las dos formas de conectarse que indicamos en el título de este post (MySQL Improved y PHP Data Object).

Estas formas de conectar, a fecha de hoy todavía no implementadas en Dreamweaver, son el futuro próximo de las conexiones de la gran mayoría de Webs que vemos, usamos, o hacemos. Son mucho más seguras, evitan inyecciones SQL por definición y están optimizadas para los servidores de este siglo.

El aviso habitual que nos puede salir:

( ! ) Deprecated: mysql_pconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in…
The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

Si todo es tan bonito… ¿por qué no migrar ya directamente a esas conexiones?… muchos de vosotros habréis recibido alguna vez el mensaje del tipo “The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead”… en pocas palabras, “Cambia ya de forma de conectarte que en cuestión de unas cuantas versiones de PHP vamos a quitar la extensión y te vas a ver con el culo al aire”.

Si, cierto, pero no inmediato, primero, porque muchos servidores todavía no soportan este tipo de superconexiones, porque a pesar de que albergan una versión moderna de PHP, no ejecutan una versión actualizada de MySQL, lo que provoca errores de conexión, así como comportamientos erráticos en los datos obtenidos. el otro motivo, es que hay que modificar parte del código de nuestra conexión para que funcione correctamente.

Contra lo que pueda parecer, el trauma es menor de lo que se pueda uno imaginar, hay muchas Webs que explican como actualizar tus conexiones y querys para pasarlas a los nuevos sistemas, y solo debemos contrastar con nuestro hosting si soportan ese tipo de conexión. Una vez hecho esto, y dedicándole una cantidad de tiempo razonable, ya tenemos nuestra Web actualizadísima en lo que se refiere a conexión a la Base de Datos.

Por lo pronto, aquellos que no quieran realizar la migración todavía, ya que hay técnicas para evitar SQL Injection, como se explica en los tutoriales, o bien porque de momento funciona bien o su servidor no lo soporte, no hay problema, bajo mi punto de vista queda conexión standard para rato, y cuando digo rato, digo años… centenares de miles de Webs funcionan y funcionarán con el sistema standard durante muchísimos años, asi que “haya calma”.

Para eliminar el aviso de que la función está rendida al olvido, o bien “deprecated”, podemos utilizar esta instrucción en la primera línea de nuestro archivo de conexiones (Connections/conexiones.php) por ejemplo:

error_reporting(E_ALL ^ E_DEPRECATED);

Con esto seguiremos mostrando los errores, notificaciones y warnings de nuestro código PHP, pero evitaremos mostrar el dichoso deprecated, mientras poco a poco nos da tiempo a actualizar nuestras Webs, o bien vamos creando las nuevas con los nuevos métodos de conexión.

Espero que esta info. os haya sido útil. Os dejo el video explicativo:

https://www.youtube.com/watch?v=4kTjeBHm6xY