Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] PDO WHERE data = ?
sexigrzes
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.04.2010

Ostrzeżenie: (0%)
-----


Mam taki problem.

Chciałbym wyciągać newsy gdzie data równa się podanej przeze mnie...
i jakoś mi nie wychodzi.

Mam date w bazie w formacie rrrr-mm-dd

Daje takie cos:
  1. $data = date('Y')."-".date('m')."-".$_GET['id'];
  2.  
  3. $zapytanie2 = $pdo -> query('SELECT * FROM news WHERE data = '.$data.'');
  4. $row2 = $zapytanie2 -> fetch();
  5.  


i nie chce mi zwrócić newsów, mimo że na pewno mam takie w bazie... jakies pomysły co robie źle? ;<
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
crackcomm
post
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(sexigrzes @ 21.12.2010, 16:11:08 ) *
Mam taki problem.

Chciałbym wyciągać newsy gdzie data równa się podanej przeze mnie...
i jakoś mi nie wychodzi.

Mam date w bazie w formacie rrrr-mm-dd

Daje takie cos:
  1. $data = date('Y')."-".date('m')."-".$_GET['id'];
  2.  
  3. $zapytanie2 = $pdo -> query('SELECT * FROM news WHERE data = '.$data.'');
  4. $row2 = $zapytanie2 -> fetch();
  5.  


i nie chce mi zwrócić newsów, mimo że na pewno mam takie w bazie... jakies pomysły co robie źle? ;<

może nie podajesz $_GET['id'] ?
Poza tym. lepiej chyba tak:
  1.  
  2. $query = $pdo->quoteInto('SELECT * FROM news WHERE data = ?', date('Y-m-').$_GET['id']);
  3. $zapytanie2 = $pdo->query($query);
  4. $row2 = $zapytanie2->fetch();


A w bazie lepiej używać TIMESTAMP.


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #3





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


A jeszcze lepiej użyć prepare i bindParam.
Go to the top of the page
+Quote Post
crackcomm
post
Post #4





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(Mephistofeles @ 21.12.2010, 16:32:54 ) *
A jeszcze lepiej użyć prepare i bindParam.

dokładnie, ale nie dla takiego zapytania ;p nie trzeba, za dużo syfu się robi - chociaż! jak trzeba będzie dalej coś dopisać to lepiej używać prepare. W tym wypadku raczej nie jest to konieczne. KISS ;*


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
sexigrzes
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.04.2010

Ostrzeżenie: (0%)
-----


no wlasnie $data wychodzi poprawnie bo sobie ja wyswietlam...


  1. $query = $pdo->quoteInto('SELECT * FROM news WHERE data = ?', date('Y-m-').$_GET['id']);
  2. $zapytanie2 = $pdo->query($query)


nie wiem czy tu blad jest czy ten ? celowo, ale próbując


  1. $query = $pdo->quoteInto('SELECT * FROM news WHERE data = date('Y-m-').$_GET['id']);
  2. $zapytanie2 = $pdo->query($query)


tez nie chce wyswietlac... nie wiem czemu :/ data poprawnie w formie DATE, w bazie 50razy srpawdzalem ze sa wpisy ktore moze wyswietlic, daty sa identyczne w bazie i z geta
Go to the top of the page
+Quote Post
crackcomm
post
Post #6





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Kod
        
$query = $pdo->quoteInto('SELECT * FROM news WHERE data = ?', date('Y-m-').$_GET['id']);    
$zapytanie2 =  $pdo->query($query);
$row2 = $zapytanie2->fetch();
var_dump($row2);


Co wyświetla ?


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
sexigrzes
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.04.2010

Ostrzeżenie: (0%)
-----


Fatal error: Call to undefined method PDO::quoteInto() in D:\www\strona\aktualnosci.php on line 19

  1. $query = $pdo->quoteInto('SELECT * FROM news WHERE data = ?', date('Y-m-').$_GET['id']);
  2. $zapytanie2 = $pdo->query($query);
  3. $row2 = $zapytanie2->fetch();
  4. var_dump($row2);



19 linijka to

  1. $query = $pdo->quoteInto('SELECT * FROM news WHERE data = ?', date('Y-m-').$_GET['id']);


spróbowałem

  1. $data = date('Y-m-').$_GET['id'];
  2.  
  3. $zapytanie = $pdo -> query('SELECT * FROM news WHERE data Like "'.$data.'"');


i działa

Ten post edytował sexigrzes 21.12.2010, 18:07:49
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #8





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Ta metoda to nie jest przypadkiem z Zend Frameworka? Użyj prepare, może to armata na komara, ale warto się przyzwyczaić.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:56