Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PDO] like
Forum PHP.pl > Forum > PHP > Object-oriented programming
prolam
Witam,
Mam problem w LIKE w pdo, zreszta nei bede sie produkowal, tylko lepiej wstawie kod, bedzie lepiej obrazowal cala sprawe

  1. <?php
  2. public function wyciagnij()
  3.  {
  4. global $pdo, $lang;
  5.  
  6. $tryb = ( (!isset($_GET['data'])) || (empty($_GET['data'])) ) ? 1 : 0;
  7. $dane = array();
  8.  
  9. try {
  10.  if ($tryb)
  11.  {
  12. $zap = $pdo->prepare('SELECT * FROM '.PREFIX.'imprezy WHERE data >= CURDATE()');
  13.  }
  14.  else
  15.  {
  16. $d = explode('-',$_GET['data']);
  17. $zap = $pdo->prepare("SELECT * FROM ".PREFIX."imprezy WHERE data like :rok+'-'+:miesiac+'-__'");
  18. $zap->bindValue(':rok',$d[0],PDO::PARAM_INT);
  19. $zap->bindValue(':miesiac',$d[1],PDO::PARAM_INT);
  20.  
  21.  }
  22.  $zap->execute();
  23.  $dane = $zap->fetchall(PDO::FETCH_ASSOC);
  24.  $zap->closeCursor();
  25.  unset($zap);
  26. }
  27. catch(PDOException $e)
  28. {
  29.  die($lang['blad']['baza'] .' w pliku: '. $e->getFile() .' , w lini: '.$e->getLine());
  30. }
  31.  
  32. return $dane;
  33.  }
  34. ?>


i ... wyswietla wszystki rekordy zamiast wybranych.

Prosze o pomoc, z gory dzieki
SongoQ
Nie wiem czy jest mozliwosc takiego zbindowaina w PDO ale jak juz laczysz string to przez ||
prolam
motyla noga, szkoda:/ dzieki za rade
splatch
W standardzie MySQL jest funkcja CONCAT - możesz skorzystać z niej.
NuLL
Maly tip i OT jesli moge - lepiej zapisac do postaci INT- calosc bedzie dzialac szybciej - LIKE jest z jednym z wolniejszych f-cji MySQL.
Ace
hm, a moze po prostu zle podchodzisz do rzeczy?

data like :rok+'-'+:miesiac+'-__'

data w formacie rrrr-mm-dd, wiec po co kombibnowac, mozesz skorzystac z funkcji mysql,a i dac kilka warunkow gdzie miesiac(data) = :miesiac i gdzie rok(data) = :rok ... musisz tylko znalezc funckje ktore wyciagaja z daty miesiac i rok - nie znam ich nazw na pamiec.
SongoQ
@Ace Hehe dokladnie to samo mialem pisac. Najprosztsze rozwiazanie jest najlepsze.

@NuLL Oczywiscie ze tak jest ale w przypadku tej struktury to operacja na takim czy takim typie nic nie da.
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-2024 Invision Power Services, Inc.