que tienen dos *.sql
archivos que uso cuando se crea una nueva base de datos del sitio web. El primer archivo crea todas las tablas. El segundo archivo llena algunos registros predeterminados. Me gustaría ejecutar estos archivos desde PHP. También uso Zend_Framework, si eso ayuda a lograr esto.ejecutar MySQL archivos * .sql en PHP
Información adicional
- no tengo acceso a la consola
- Estoy tratando de automatizar la generación de sitio desde dentro de nuestra aplicación.
SOLUCIÓN
Usando shell_exec()
...
$command = 'mysql'
. ' --host=' . $vals['db_host']
. ' --user=' . $vals['db_user']
. ' --password=' . $vals['db_pass']
. ' --database=' . $vals['db_name']
. ' --execute="SOURCE ' . $script_path
;
$output1 = shell_exec($command . '/site_db.sql"');
$output2 = shell_exec($command . '/site_structure.sql"');
... nunca lo hice obtener una salida útil, pero seguía some suggestions en another thread y finalmente tengo todo trabajo. Cambio al formato --option=value
para los comandos y usé --execute="SOURCE ..."
en lugar de <
para ejecutar el archivo.
Además, nunca obtuve una buena explicación de la diferencia entre shell_exec()
y exec()
.
¿No puedes usar la consola? Es mucho más fácil ... –
@Pekka - actualicé mi publicación – Sonny
funcionó muy bien para mí en Linux. has probado en Windows xampp, pero duda de que va a trabajar :) – ethanpil