Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PDO] Błąd przy wielu rekordach pasujacych do jednego
NickOver
post 27.02.2015, 16:25:31
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Cześć.
Mam problem z PDO, dogłębne przeszukiwania sieci niestety nic nie dały więc może Wy będziecie wiedziec o co chodzi.
Do rzeczy. Kod:
  1. $query = $this->db->prepare(
  2. 'SELECT * FROM employees AS e
  3. LEFT JOIN cards AS c ON e.employee_id = c.employee_id
  4. WHERE (c.number = :search OR e.firstname = :search OR e.lastname = :search OR c.card_id = :search)'
  5. );
  6. $query->bindValue(':search', $a, PDO::PARAM_STR);
  7. $query->execute();


Puszczenie takiego zapytania wywala :
  1. Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number' in /var/www/core_modules/search/module_files/search_model.php:34
Linijka 34 to execute()

Dodam że do 'employee' może pasować wiele 'cards' i najpewniej to powoduje błąd. Macie jakies pomysły jak to przeskoczyć?
Pozdrawiam

NickOver
Go to the top of the page
+Quote Post
trueblue
post 27.02.2015, 16:32:48
Post #2





Grupa: Zarejestrowani
Postów: 6 800
Pomógł: 1827
Dołączył: 11.03.2014

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


Google zna?
http://stackoverflow.com/questions/1802870...arameter-number


--------------------
Go to the top of the page
+Quote Post
mmmmmmm
post 27.02.2015, 19:49:59
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. WHERE :search IN (c.number, e.firstname, e.lastname, c.card_id)
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 Wersja Lo-Fi Aktualny czas: 24.06.2025 - 11:21