Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie w pętli wartości do bazy używając PDO
Forum PHP.pl > Forum > PHP
Calibri
Witam.

Dziś chciałem się zapytać o pewną rzecz. Bo chcę zrobić system dodający `tagi`. Korzystam z PDO.

Jako parametr funkcji przekazuję tablicę którą wcześniej stworzyłem za pomocą explode rozdzielając wyrazy spacjami.

Czy lepiej jest tak (sposób 1):
  1. public function InsertTags( $tags )
  2. {
  3. $stmt = $this->db->prepare( 'INSERT INTO tags SET name = :name' );
  4. foreach ( $tags as $tag )
  5. {
  6. $stmt->bindValue( ':name', $tag, PDO::PARAM_STR );
  7. $stmt->execute();
  8. }
  9. }


czy tak (sposób 2):
  1. public function InsertTags( $tags )
  2. {
  3. $stmt = $this->db->prepare( 'INSERT INTO tags SET name = :name' );
  4. foreach ( $tags as $tag )
  5. {
  6. $stmt->execute( array( ':name' => $tag ) );
  7. }
  8. }


--[ Słowo `lepiej` znaczy tu optymalniej lub wygodniej ]--

A gdybym musiał dodać do bazy większą ilość danych, nie tylko sam `name` ale np: `param1`, `param2`, `param3`, .... , to który sposób zastosować ? Który sposób (pierwszy czy drugi) wg was się nadaje ? A może oba mogę spokojnie użyć (bo oba działają, ale o zapis mi chodzi) a tylko ja marudzę ?
Crozin
Jeżeli wszystkie parametry mają być traktowane jako wartości tekstowe (PDO::PARAM_STR) to oba kody są właściwie jednoznaczne i nie ma znaczenia, której metody użyjesz.
Calibri
Aha. Rozumiem. No ale gdybym miał wartości INT, to jednak któryś sposób ma znaczenie- chyba.
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.