Título: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: danny920825 en 7 Abril 2017, 19:28 pm Hola amigos. Ayer publique un tema relacionado con este, pero prefiero hacer uno aparte, porque la forma de hacerlo que propuse ayer, si funciona. Lo que sucede es que quiero restaurar una BD desde PHP.
Lo estaba haciendo desde la consola de mysql usando la funcion Código pero en la noche un amigo me dijo que si el phpmyadmin está hecho en PHP entonces debe existir una forma de hacerlo. Y me di a la tarea, lo primero fue limpiar el archivo .sql para quitarle los comentarios /* y --. El efecto fue usar Código para cargar todo el contenido, limpiarlo y luego llamar a la funcion que hace la restaura. En la funcion que hace la restaura lo que hago es dividir el string obtenido de la funcion anterior y delimitarlo por ; para generar la consulta. El resultado es que la consulta me da error si la hago desde el script, pero si le pongo un Código para que me muestre el contenido y luego eso lo ejecuto desde el phpMyadmin sí se ejecuta. A continuacion ambas funciones, la de limpiar y la de restaurar: Código
Ayuda Por favor Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: #!drvy en 7 Abril 2017, 20:01 pm ¿ Qué error te tira el query a la hora de ejecutarlo en PHP ?
Saludos Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: danny920825 en 7 Abril 2017, 20:04 pm Perdón. Lo iba a poner y se me olvidó. Lo unico que dice es:
Query was empty No da más ningun dato Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: #!drvy en 15 Abril 2017, 19:06 pm Podrías pegar tal cual lo que te devuelve esto:
Código
Deduzco que le estas pasando una query mal formateada a mysqli. Saludos Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: danny920825 en 23 Abril 2017, 01:22 am Hola y gracias por responder aun despues de tanto tiempo. Resulta que logre hacer que funcionara de esta forma:
Código
Pero me estuvo diciendo un amigo que puede llegar a ser un inconveniente cuando quitas las lineas de -- y de /* que genera el SQL porque son las vistas. Y que hacer el Código: explode Habria alguna otra forma de restaurar la BD desde PHP utilizando la extension de mysqli? Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: #!drvy en 23 Abril 2017, 16:56 pm Puedes usar shell_exec() para invocar mysql-dump e importar los datos. Es una alternativa un poco sucia pero realmente usaras MySQL y por lo tanto solucionas muchos problemas como el uso de vistas, claves como USE y otras funcionalidades no soportadas por el driver.
Un ejemplo seria: Código
Claro que eso implica que tengas acceso a shell_exec lo cual en algunos casos puede ser considerado como una característica propensa a ataques. También podrías probar con el multi_query -> http://php.net/manual/es/mysqli.multi-query.php Pero ya te digo que no sera ni de lejos tan eficiente y completa como usar el propio mysql. Saludos Título: Re: [Ayuda] Script de PHP no funciona igual que el phpmyadmin Publicado por: danny920825 en 24 Abril 2017, 13:22 pm Ok, entonces utilizaré MySql directo con esta funcion:
Código
Y me disculpo por mi costumbre de incluir las $variables dentro de las comillas dobles, ya que PHP las reconoce y agilizo el proceso. No se si es o no una mala practica. |