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:
Hola muy buenas!!
Con tus tutoriales hice mi web “con tutorial conexión zapatos, ya ha llovido” y actualizando mi web para otro proyecto distinto me puse a leer foros/código y patatín patatán, me llevó a uno de seguridad y leí que php7 es mas seguro, que lo primero que hay que hacer es actualizar tu php.
Tras lograr descargar xampp para mi S.O actualice a php7 y claro, por eso ahora estoy aquí.
Me gustaría si puedes me aclarases 2 cosas…
1, mi web “vieja” la hice con php5 pero metí mysql_real_scape_string para evitar inyecciones sql. por esto ¿es segura mi “vieja pagina” para remozarla y usarla? así me evito todo el trabajo de migrar.
2 me bajé tu archivo de txt que anuncias en tu vídeo de mas arriba para migrar msql a msqli, con ese texto vamos viendo que cambiar. Dices que vas actualizandolo si es necesario. Mi problema es que la funtion “o función” que dices que añadamos a includes/funciones no trabaja, no sé que pasa exáctamente pero veo el codigo “inactivo”… ejemplo, mysql usa mysql_free_result y este codigo en Dreamwear CS6 se ve azul marino o “activo”, segun tu txt descargado tenemos que cambiarlo por mysqli_result, pues bien, está “muerto”; está el texto negro o no activo en Dreamweaver, no azul como mysql_free_result. Al cargar página me lanza:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in
Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, bool given in
en includes/funciones y los mismos en otras tantas, según he podido averiguar es el codigo funtion que nos dices metamos, debe pasar algpo…. ah y ya puesto, también los cambios de or die nos lo deja pegado al codigo: ejemplo codigoor die y hay que buscar/usar espacio y separar codigo or die, y en otro mucho codigo hay que meter )); para evitar syntax error, esto supongo es mas de mi lado que hice una página “Frankenstein” con de aqui y de haya. Solo queria comentarlo.
¿Me aclaras lo de que mysqli_result salga negro plano o “inactivo”?… creo si arreglo eso lo otro es asunto mío, siempre y cuándo no me digas; Déjala en php5 que con mysql_real_scape_string no vas a tener problemas.
Gracias, perdón por el tocho y saludos.
Lo ideal es acutalizar a MySQLi tal y como explico en ese video. Fíjate en todos los detalles. Que salga en “oscuro” en DW, no te preocupes, es posible que no lo reconozca si en local no tienes la versión 7 de PHP puesta, o depende de la versión de DW que estés utilizando.
Saludos
Buenas tardes,
He estado realizando el cambio de MySQL a MySQLi y todo va bien con lo del tutorial, sin embargo tengo un formulario realizado con DW donde actualizo una tabla, el problema es que no esta guardando los datos que se pasan a través de $POST.
¿Existe alguna razón por la cual no esta pasando la información y no me esta actualizando la tabla.?
Ya vi linea por linea y según yo todo se ve normal.
Muchas Gracias
Saludos
Revisa con un echo la consulta que hace la inserción a ver si te están llegando bien los datos.
Saludos!
Podrias ayudarme es que uso xampp y al momento de conectar con la base de dato mi pagina me tira este error.
Your PHP server doesn’t have the MySQL module loaded or you can’t use the mysql_(p)connect functions.
puse usuario root, localhost y la contraseña en blanco.
https://blog.ayzweb.com/tutorial/conexion-php-a-mysql-mysql_connect-o-mysql_pconnect-persistente
Yo me cambié a WAMP, porque intenté de todo con XAMPP y no funcionó. Con WAMP no hay ningún problema.
A cada uno le va mejor uno u otro, al final hacen lo mismo. Saludos
Esto es para cambiar de mysql a mysqli pero para evitar la inyección sql se usa mysql_real_escape_string. Por lo tanto la cuestión para qué cambiar a menos que cambies a php7 pero cuánto código sigue desactualizado aparte de la conexión a php 7.3 por ejemplo o con lo que pones en el tutorial ya es suficiente o hay que cambiar más cosas ejemplo los insert, update, while, foreach de dreamweaver versiones de 5x php. Porque la versión 5.6 de php lo sostienen prácticamente todos los servidores eso sí la han dejado ya como la única versión antigua la mayoría de servidores a 2019.
Un saludo y buen trabajo.
Hay algunas funciones nuevas y otras que están obsoletas, pero el funcionamiento base es el mismo, se sigue usando mysql_real_escape_string, pero la versión para MySQLi
Saludos
Pero se supone que con MySQLi la conexión es segura y no se necesita mysql_real_escape_string, vamos que es innecesario ponerlo. Por otro lado esto es del 2014 y hasta ahora no han empezado los servidores a apretar con php7, porque soportan php 5.6 otra cosa es que fuercen a cambiar versión dentro de poco que todavía no lo han hecho 5 años después de creado este post. Pero en la red no hay casi nada excepto esta web de hacer tal cambio de los que programaron hace años con ayuda de dreamweaver sus webs.
El problema es que muchos hostings no admiten ya la MySQL normal, tiran para la MySQLi. Independientemente de que la conexión sea o no más segura, la función se utiliza precisamente para evitar SQL Injection. Da igual lo segura que sea si no se filtra previamente cada consulta.
Que cambien a 7, cada vez es más habitual, aunque va progresivamente, claro. Lo ideal es hacerlo ya todo en MySQLi en previsión de presente/futuro
Saludos
gracias amigaso me funciono mi pagina
buenazo y gracias.
¡Gracias y ánimo!
Hola.
He seguido todos los pasos para cambiar a mysqli y php 7 ya que me cambian en el servidor el php.
Toda la página me va genial. El único problema que tengo es que para acceder a alguna página tienes que poner usuario y contraseña y esa parte me da error. ¿Habría que hacer algo más?
Sé que es muy poca información, pero tampoco querría ser muy pesado.
El hecho de que te pida pass wen cada página, tiene más que ver con una mala configuración de los permisos, me parece a mi. COmentalo con el Hosting!
Saludos
Gracias por la información. Sigue siendo el php 7 y el mysqli. Ya lo tengo corregido.
¿Puede trabajarse en php 7 y mysqli con dreamweaver cs6? ¿Alguna extensión o “argo”? ¿O con otro dreamweaver más moderno?
Genial!. Desafortunadamente Dreamweaver ya no incluye nada de base de datos en versiones posteriores…
CS6 todavia incluye lo de bases de datos. las versiones CC son las que no lo incluyen. De hecho yo estoy usando la CS6
Correcto, el problema es que sigue usando la versión Mysql y no la Mysqli, que es la nueva…
Hola! muchas gracias por toda la informacion, tengo un problema, cuando quiero realizar una nueva conexion a mysql me arroja lo siguiente: Your PHP server doesn’t have the MySQL module loaded or you can’t use the mysql_(p)connect functions.
Soy nueva en dreamweaver y php, he buscado que se tiene que cambiar mysql_pconnect quitandole la p pero no se como realizar esto.
Podria ayudarme porfavor?
Precisamente eso que indicas, en DW, dale a Buscar/Reemplazar y cambia mysql_pconnect por mysql_connect
Saludos!
Hola que tal, intente en dw lo de buscar/reemplazar y me dice que no lo encuentra y claro sigue saliendo el maldito:Your PHP server doesn’t have the MySQL module loaded or you can’t use the mysql_(p)connect functions.como podria solucionarlo? Gracias
Te equivocas de artículo, revisa este: https://blog.ayzweb.com/tutorial/conexion-php-a-mysql-mysql_connect-o-mysql_pconnect-persistente
Saludos
gracias lo leere y ya le contare como me fue, un saludo
Gracias Jorge! Maravillosa información!!
Aunque esto lo publicaste hace más de 2 años, es ahora cuando lo he necesitado y todo salió perfecto.
Un saludo.
Si es que lo bueno no envejece tan pronto!, jajaj. Es broma, ¡me alegro que te haya sido útil!
Muchísimas gracias Jorge! Llevo ya un rato trabajando en configurar los artículos de mi blog (futuro blog) y al conectar con la base de datos no han habido mas que problemas, por suerte los he ido solucionando, y el ultimo que he tenido, me lo acabas de solucionar tu. Enserio mil gracias.
Ya quiero aprovechar también para agradecer-te que hicieses el curso aquel de crear una red social, ya que con eso me inspiraste a intentar crear mi propio blog, ya que pensé que un blog es algo similar a una red social, pero que en lugar de haber muchos usuarios hay solo uno.
Ahora tengo 14 años, pero gracias a mi padre, y gran parte a ti, he conseguido aprender a programar en varios lenguajes, y gracias a toda la ilusión que esto me genera quiero enfocar mi futuro en todo este mundo.
Un saludo y un abrazo enorme 😉
PD: acabo de ver que para completar este formulario hay que poner una web, yo aun que no tenga acabado el blog, te dejo por aquí el enlace que le quiero poner, y así si algún día (espero que pronto) te apetece mirar, y ya esta subido, puedas ver como he trabajado.
Mil gracias por tus palabras!… tienes toda una vida por delante para triunfar!. cuando tengas la Web lista, visita este link: https://blog.ayzweb.com/tutorial/publicamos-mejor-las-webs-de-nuestros-alumnos
Saludos y un abrazo!
ERES EL MEJOR MIL GRACIAS
Espero que te haya servido. Saludos!
me estaba encerrando en ese error, gracias por la ayuda
Gracias y ánimo!
muchas gracias por explicar el mensaje de error
ya lo logre corregir
estoy iniciando la carrera de ingenieria en sistemas
exelente pagina
Muchas gracias a ti por comentar!
Saludos
Como siempre la buena voluntad tuya para ayudarnos a los que sabemos menos, te deseo lo mejor lo mejor.
Gracias y ánimo!
Mil gracias!! soluciono mis problemas para poder mostrar mi gráfica utilizando la librería JpGraph
Genial!
Gracias compadre, de verdad que aprecio mucho tus tutoriales.
Gracias y ánimo!
buena tarde, como podria ajustar para que funcione el paginador hecho en principio con dreamweaver
En varios de los tutioriales explicamos diferentes tipos de paginador.
Saludos!
Hola soy nuevo en el curso de pagina web, y me surgio un problema cuando quiero mandar la url de una imagen a mi base de datos en (godaddy), me sale esto, lo llene con datos aleatorios para probar
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ ‘camisetas’, 12, ‘gaby’, ‘sdsds’)’ at line 1
Hola;
A partir de ahora debes realizar la pregunta a través de nuestro sistema de consultas, es gratuito y muy rápido de utilizar.
http://www.dreamweaver-tutoriales.com/soporte
Increible es tener la version Cs6 y usar el menu insertar, obgetos de datos, insertar registro, insertar asistente de rigistros, todo esto para facilitar la programacion y me encuentro q la modernicima herramienta Dw Cs6 utiliza mysql todavia1!! en ves de mysqli cuando menos!!!
Esperemos que en versiones futuras lo actualicen!.
Saludos!
Prof. Jorge sabe estoy haciendo un ejemplo de un formulario login, ya solucione el problema del deprecated. ahora el boton de iniciar sesion del formulario no hace nada. tengo creada la BD, esta la conexion ala vista en dreamWeaver. use autenticacion usuario-conectar usuario. uso dreamweaver cc2014, wamp 2.5 y tengo instalado ya los plugins en de base de datos en DW….saludos
Hola;
A partir de ahora debes realizar la pregunta a través de nuestro sistema de consultas, es gratuito y muy rápido de utilizar.
http://www.dreamweaver-tutoriales.com/soporte
Quisiera saber si el código mysql básico que genera Dreamweaver es reutilizable en mysqli o requiere de algunos cambios.
https://www.youtube.com/watch?v=4kTjeBHm6xY
en la primera linea no me funciona con el wampserver 2.5
A que te refieres con la primera linea?
si se refiere al poner este codigo en la primera linea : error_reporting(E_ALL ^ E_DEPRECATED);
es decir en la primera linea despues de inicio de la sintaxis de PHP EJ:
A mi aun no me dan errores mis aplicativos pero desde mañana comienzo a pasarme a la extension mysqli. Tengo mucho codigo de Dreamveaver asi que hay mucho trabajo que hacer. Feliz noche
En realidad es bastante sencillo de hacer, en breve sacaremos un video de cómo hacerlo en pocos pasos. Saludos
Que genial que haya esa solución, es una pesadilla parar el mysql a mysqli. 1 millón de gracias.
Gracias!!! me han salvado la vida
Jorge, si una vez que actualicemos nuestra conexion con mysqli, cuando estemos agregando nuevos registros con dreamweaver coloca los codigos automaticamente a mysqli?? o mysql? teniendo que ir paso a paso modificandolo? aprox. cuando crees que ya quede de una vez obsoleta?
La transformación a MySQLi la explicaremos para que sea muy sencilla, la forma de las consultas no cambia, no te preocupes. Tardará años en quedarse obsoleto definitivamente, seguro. Saludos
SEÑOR DON JORGE NO ENTIENDO BIEN LO DE LA SOLUCION, NUNCA USE ESTE PROGRAMA ANTES Y NO ENTENTIENDO LA SOLUCION QUE PROPONE DE error_reporting(E_ALL ^ E_DEPRECATED); HAY QUE PONERLO EN ALGUN LUGAR O ALGO ASI?
SALUDOS
Te lo indica en el mismo post, debes de ponerlo en la primera linea del archivo de conexiones. Saludos
Muchas gracias por el truquito.
Gracias profe, ya estaba aburrido de ver ese error.
Hola jorge, oye ya veo la solucion, pero soy muy noob en esto de base de dato y mysql, donde consigo el archivo de conexiones para poner el codigo?
Para contrastar el error, compara con los ZIP que están en la página http://www.dreamweaver-tutoriales.com en la sección Cursos.
Ahí puedes descargarte el código hasta cada capítulo y así comprobar posibles fallos, saludos
si jorge, pero el archivo de conexiones donde lo consigo, para poner el codigo “error_reporting(E_ALL ^ E_DEPRECATED);”
El archivo de conexiones es el que tenemos dentro de la carpeta connections
Gracias jorge un millon!
Don Jorge se que soy un pesado jaja pero sería genial que en cada vídeo de los cursos pudiéramos comentar.
Bueno, en realidad lo puedes hacer, no???
saludos!
Pues la verdad que no, yo por lo menos no puedo comentar, sería lógico que nosotros tus alumnos pudiéramos hacer comentarios de cada vídeo y exponer nuestras dudas y podernos contestar nosotros mismos. Saludos Profesor.
Mmm… no entiendo, estás si estás escribiendo aqui ahora, puedes comentar lo que necesites aqui o en Youtube, no?,… No entiendo…
Saludos a todos tengo un problema con el tutorial de redsocial ya que me da un error, aun probando con los archivos del turorial de jorge.
este es el error que me da cuando paso a la pagina del formulario para darse de alta:
Deprecated: mysql_pconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\redsocial\Connections\conexionredsocial.php on line 9
La solución: https://blog.ayzweb.com/tutorial/conectandonos-con-dreamweaver-mysql-o-mysqli-o-pdo
Perdona Don Jorge por contestar tan tarde, no yo me refería a los vídeos que compramos, usted nos da una dirección para poder ver los tutoriales adquiridos, pues sería genial un apartado para comentar y ver los comentarios de cada alumno en cada vídeo.
Igualmente todos esos videos se publican en este mismo blog, para que los comentéis y hagáis preguntas, como se hace habitualmente. Sólo debes buscarlo en el pequeño buscador de arriba a la derecha y listo!
Saludos
Buenas tardes Jorge. ¿Nos podías indicar exactamente cómo eliminar el error? He puesto la instrucción que nos indicas (error_reporting(E_ALL ^ E_DEPRECATED);) en el archivo de conexiones y no me funciona. Muchas gracias.
Si estás en local debe de funcionar, si estás en un servidor, es posible que estés regido por la configuración del servidor, debes contactar con ellos y comentarlo.
Saludos
Hola Jorge. Estoy en local. Mi archivo de conexiones es el siguiente:
¿Me podrías indicar cómo lo tengo que poner?
Muchas gracias.
Un saludo
Has mirado las preguntas frecuentes de este mismo blog?
Saludos!
Si Usas Xampp puedes deshabilitar el DEPRECATED http://habbokeko.foroactivo.com/t78-tutorialquitar-las-advertencias-en-xampp-174tutorial
Para Wamp no sé, pero puedes buscar información que seguro que hay.
Revisa en https://blog.ayzweb.com/tutorial/conectandonos-con-dreamweaver-mysql-o-mysqli-o-pdo
Saludos
Gracias Deamnewton por contestarme. Al final me descargué una versión más antigua de Wampserver que era la que yo antes usaba y no me da problemas con el sqli.
Bueno, tomo nota, y seguramente si que lo haremos, como parte extra de algun curso, porque no será tan complejo para hacerlo en un curso nuevo!.
Gracias!
Bueno pus si hace un tutorial seré el 1º en comprase lo, me interesa mucho, seguro que mucha gente también.
Don Jorge ya tengo casi lo tengo completo, ya saco tantos precios como formatos hay del producto, saco el porcentaje, los kilos, precio con el descuento y precio con descuento hay productos que tienen asta 10 formatos cada uno con su precio descuento, peso etc jajaja vaya lio cuando usted me lo podría a ver resuelto en 20 minutos jajaja bueno lo importante es que aprendes mucho con el método de ensayo y error jajaja. Saludo Profesor Vila
Que lo hayas logrado hacer para mi es lo importante!, enhorabuena!.
No se ni cuantas horas de vídeos de usted me he empapado jajaja una y otra vez, ya tengo el backend super calidad, para ahorrar tiempo compre una plantilla con un diseño super guapo a ver que le parece http://themes-lab.com/preview/?theme=Pixit%20Admin
Lo siento profesor yo soy más de Themeforet jaja :D.
Muy buena decisión!… el diseño es una pasada!. Si, themeforest tiene cosas geniales tambien, desde luego!.
Saludos!
Gracias por su opinión sobre que MYSQL aun se seguirá utilizando durante par de años, aunque no estaría de mas un tutorial de como pasar de MYSQL a MYSQLi o POD preferiblemente ya que usted es el mejor explicando.
Yo he cambiado la conexión a MYSQLi pero no consigo que funcione. Por favor no ne diga otra vez que un tutorial cuesta mucho hacerlo jajajajaja ya lo sabemos, pero se lo pagaremos 5€, 10€, 15€ lo que pida jajaja tampoco nos vacíes los bolsillos. Saludos Profesor.