Hozzászólás: PHP multi_query() vagy query()?

itzoli
Felhasználó

A multi_query() használatakor egy mysql lekérdezéssel tudsz több rekordot létrehozni. Ennek viszont az az ára, hogy a lekérdezéseidet össze kell fűzni egy string-be, ami nagy adatmennyiségnél sokat elvesz a memóriából. Persze ha ez egy egyszeri import akkor nem olyan nagy probléma.

A query() használata egyszerűbb, viszont több lekérdezés, ezáltal lassabb végrehajtás az eredmény.

Ha választanom kellene inkább a multi_query() mellett döntenék, de szerencsére van jobb megoldás.

Egyedi lekérdezések helyett ma már érdemes inkább a mysqli_prepare() és mysqli_execute() függvényeket használni, mert így a fenti két megoldás legjobbját kapjuk a hátrányok nélkül. Tehát:

  • egy “sablonunk” van ami szinte semmi helyet nem foglal
  • ebbe a sablonba csak beszúrjuk szükséges változókat lekérdezéskor
  • gyors, mert a lekérdezéssel csak a tényleges adatokat kell a mysql szervernek elküldeni, nem a teljes lekérdezést
  • biztonságos, mert az előkészített lekérdezéshez csak paramétereket fűzünk hozzá, így immunis a mysql injection támadások ellen