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

Skrypt PHP Database Dump - czy są jakieś problemy?

Ten skrypt ma poważne problemy, które mogą złamać umowę. Nie będzie działać z żadną inną niż najbardziej trywialną bazą danych.

  • NULL nie są obsługiwane.
  • Zestawy znaków nie są brane pod uwagę.
  • Nazwy tabel nie są rozdzielane.
  • Obsługiwane są tylko tabele — nie widoki, procedury składowane, wyzwalacze, funkcje itp.
  • addslashes() nie jest bezpieczny dla zestawu znaków .
  • mysql_query() pobiera z wyprzedzeniem wszystkie wiersze z tabeli, więc jeśli wyślesz zapytanie do tabeli zawierającej miliony wierszy, przekroczysz limit pamięci PHP. Użyj mysql_unbuffered_query() zamiast. Po namyśle widzę, że zbierasz wszystkie dane wyjściowe w $return, więc to jest dyskusyjne.
  • Twoje tłumienie błędów za pomocą @ operator to zła praktyka. Sprawdź błędy i zakończ z wdziękiem komunikat informacyjny.

Twoje wymaganie, aby nie używać mysqldump jest absurdalne.

Po co tyle pracy dla siebie, by wymyślać koło na nowo, a mimo to tak źle? Po prostu uruchom mysqldump przez shellexec() .

Zobacz też:



  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 sprawdzić, czy zapytanie mysql nie zwraca wyniku (nie znaleziono rekordu) za pomocą php?

  2. MySQL UPDATE i SELECT w jednym przejściu

  3. Wdrażanie i zarządzanie klastrem MySQL NDB za pomocą ClusterControl

  4. GDZIE pomylenie klauzuli z PDO

  5. Paginacja MySQL oparta na kursorach z wieloma kolumnami