Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]implode w zapytaniu sql
Forum PHP.pl > Forum > Przedszkole
Larges
Witam, zmienne nie będące typu int należy oplatać w cudzysłów, nie bardzo potrafię to uczynić z następującą linijką kodu.

  1. $sql = "SELECT " . implode(",", $tablica) . " FROM $tabela";


Dzięki za pomoc.
zzeus
Może się mylę, ale w WHERE nie trzeba "oplatać" nazw pól w cudzysłów, jak już to w warunku WHERE
franki01
Troszkę kreatywności.
  1. $sql = "SELECT `" . implode("`,`", $tablica) . "` FROM $tabela";

Zakładam, że o to chodzi.
bmL
Zakładam że pewnie nie o to winksmiley.jpg bo skoro imploduje je używając przecinka to są to nazwy kolejnych pół docelowe zapytanie wyglądało by tak:
  1. SELECT `pole1, pole2, pole3, pole4` ...

a powinno być oczywiście tak
  1. SELECT `pole1`, `pole2`, `pole3`,`pole4`


Chociaż te cudzysłowy nie są konieczne jeżeli nazwy pól nie są zarezerwowane dla składni języka SQL np. pole może się nazywać "where" wtedy trzeba je opleść cudzysłowami.

Zarzucę gotowym kodem, pisany z palca więc nie gwarantuję że zadziała biggrin.gif
  1. function oplec (&$element1, $klucz, $znak)
  2. {
  3. $element1 = $znak.$element1.$znak;
  4. }
  5.  
  6. array_walk ($tablica, 'oplec', '`');
  7.  
  8. $sql = "SELECT " . implode(",", $tablica) . " FROM $tabela";
franki01
Cytat(bmL @ 5.09.2009, 01:45:41 ) *
Zakładam że pewnie nie o to winksmiley.jpg bo skoro imploduje je używając przecinka to są to nazwy kolejnych pół docelowe zapytanie wyglądało by tak:
  1. SELECT `pole1, pole2, pole3, pole4` ...

a powinno być oczywiście tak
  1. SELECT `pole1`, `pole2`, `pole3`,`pole4`


Chociaż te cudzysłowy nie są konieczne jeżeli nazwy pól nie są zarezerwowane dla składni języka SQL np. pole może się nazywać "where" wtedy trzeba je opleść cudzysłowami.

Zarzucę gotowym kodem, pisany z palca więc nie gwarantuję że zadziała biggrin.gif
  1. function oplec (&$element1, $klucz, $znak)
  2. {
  3. $element1 = $znak.$element1.$znak;
  4. }
  5.  
  6. array_walk ($tablica, 'oplec', '`');
  7.  
  8. $sql = "SELECT " . implode(",", $tablica) . " FROM $tabela";

Co za głupoty piszesz. Przypatrz się jeszcze raz mojemu przykładowi.
bmL
Faktycznie nie zauważyłem cudzysłowów obok oplatających przecinek. Twoje rozwiązanie jest zdecydowanie lepsze od mojego.
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.