Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uruchamianie plików MySQL *.sql w PHP

To pytanie pojawia się od czasu do czasu. Nie ma dobrego rozwiązania do uruchamiania skryptu .sql bezpośrednio z PHP. Istnieją skrajne przypadki, w których instrukcje wspólne w skrypcie .sql nie mogą być wykonywane jako instrukcje SQL. Na przykład narzędzie mysql ma wbudowane polecenia które nie są rozpoznawane przez serwer MySQL, np. CONNECT , TEE , STATUS i DELIMITER .

Więc daję +1 @Ignacio Vazquez-Abramsowi odpowiedz . Powinieneś uruchomić swój skrypt .sql w PHP, wywołując mysql narzędzie, na przykład z shell_exec() .

Udało mi się uruchomić ten test:

$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";

$output = shell_exec($command . '/shellexec.sql');

Zobacz także moje odpowiedzi na te powiązane pytania:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować, jeśli istnieje, wstawić, jeśli nie (AKA upsert lub merge) w MySQL?

  2. Narzędzie LINQ dla Javy

  3. Instrukcja SQL ignoruje parametr gdzie

  4. Laravel 5.4 na PHP 7.0:Wyjątek PDO — nie można znaleźć sterownika (MySQL)

  5. Jak dodać wiodące zera do liczby w MySQL?