sql >> Databasteknik >  >> RDS >> Mysql

PHP Database Dump Script - finns det några problem?

Det manuset har allvarliga problem som bryter mot avtal. Det kommer inte att fungera för någon annan än den mest triviala databasen.

  • NULLs stöds inte.
  • Teckenuppsättningar tas inte med i beräkningen.
  • Tabellnamn är inte avgränsade.
  • Endast tabeller stöds -- inte vyer, lagrade procedurer, utlösare, funktioner etc.
  • addslashes() är inte teckenuppsättningssäker .
  • mysql_query() förhämtar alla raderna från tabellen, så om du frågar en tabell med miljontals rader kommer du att överskrida din PHP-minnesgräns. Använd mysql_unbuffered_query() istället. Vid närmare eftertanke ser jag att du samlar all utdata i $return så detta är omöjligt.
  • Din undertryckande av fel med @ operatör är dålig praxis. Kontrollera efter fel och misslyckas med ett informativt meddelande.

Ditt krav att inte använda mysqldump är absurt.

Varför göra så mycket arbete för dig själv att uppfinna hjulet på nytt, och ändå få det så fel? Kör bara mysqldump via shellexec() .

Se även:



  1. Ordlista över SQL Server-frågor — A Stick Shift för DBA:er

  2. Välj topp 10 poster för varje kategori i MySQL

  3. Oracle Database Security – Kryptering och dekryptering

  4. förvirring med att lägga till 2 tidsvärden