Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zmiennne z zapytaniem do bazy
Forum PHP.pl > Forum > Przedszkole
Wojciechovsky
Cześć,

czy tworzenie zmiennych przechowujących zapytania do bazy w taki sposób jest poprawne pod względem optymalizacji?

  1. $sql = "INSERT INTO contacts (email,telefon) VALUES ('$email','$telefon')";
  2. $connection->query($sql);
  3.  
  4.  
  5. $sql2 = "INSERT INTO adresses (ulica,numer_domu,numer_mieszkania,kod_pocztowy,miasto) VALUES ('$ulica','$numer_domu','$numer_mieszkania','$kod_pocztowy','$miasto')";
  6. $connection->query($sql2);
  7.  


Czy prędzej robi się to tak, żeby nie tworzyć miliona zmiennych?

  1. $sql = "INSERT INTO contacts (email,telefon) VALUES ('$email','$telefon')";
  2. $connection->query($sql);
  3.  
  4.  
  5. $sql = "INSERT INTO adresses (ulica,numer_domu,numer_mieszkania,kod_pocztowy,miasto) VALUES ('$ulica','$numer_domu','$numer_mieszkania','$kod_pocztowy','$miasto')";
  6. $connection->query($sql);
  7.  


viking
Zapewne nie robi się obu tylko PDO i prepared statements albo zewnętrzny ORM wink.gif
Jeżeli z jakiegoś powodu potrzebujesz zmiennej jeszcze gdzieś to wiadomo że nie ma sensu jej nadpisywać więc tu nie ma reguły.
Twoja metoda jest też słaba bo musisz coś wcześniej pod zmienne podstawić. Już wolałbym sprintf dać do values(). Jest to bardziej czytelne i chociaż łatwo można rzutować typy czy dać mysqli::real_escape_string.
phpion
Z optymalizacją ma to niewiele wspólnego, zyskasz tyle co nic. Ja osobiście jednak stosuję nadpisywanie zmiennych (czyli przykład 2) ale z racji czytelności - raziłyby mnie w oczy zmienne $sql2, $sql3, ..., $sql123.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.