Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT a FROM b WHERE substring zawiera się w danym stringu, prośba o pomoc z zapytaniem do SQLite przez PDO
kreatiff
post
Post #1





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Witam.
Głowię się nad pewnym zapytaniem do bazy SQLite używając PDO.

Chodzi o to, by z pola koncowka w tabeli koncowki wybrać takie zlepki liter, które są końcówką uprzednio wybranego wyrazu.

I tak dla przykładu:

Dany wyraz: kolor
W tabeli koncowki mamy pole koncowka z takimi rekordami:
olor
lor
or
ar
r
lr
lej
ej
j

Zapytanie ma zwrócić: olor, lor, or, r (czyli końcówki wyrazu kolor).

SELECT koncowka
FROM koncowki
WHERE koncowka [zawiera się w] 'kolor'

Głowię się już kilka dni nad tym przeszukując Internet, ale niestety mój stan wiedzy lub sposób szukania nie wystarcza na rozwiązanie tego problemu.

Ten post edytował kreatiff 7.08.2012, 12:48:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. SELECT koncowka
  2. FROM koncowki
  3. WHERE 'kolor' LIKE concat('%',koncowka)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kreatiff
post
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Dziękuję za odpowiedź.

Jednak coś robię cały czas źle. Mimo stworzenia sobie dokładnie takiej samej bazy na potrzeby testów z tymi samymi danymi jak w 1 poście cały czas mam:
Call to a member function fetch() on a non-object... .

Nie wiem co jest grane.

Mój cały testowy kod wygląda tak:
  1. $pdo = new PDO('sqlite:.\test.db');
  2.  
  3. $query = $pdo->query("SELECT koncowka FROM koncowki WHERE 'kolor' LIKE concat('%',koncowka)");
  4. $tablica = $query->fetchAll();
  5.  
  6. echo'<pre>';var_dump($tablica);echo'</pre>';
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Masz błąd bazy/zapytania. Wypdałoby więc ten błąd wyświetlić. Jak nie wiesz jak to zajrzyj do manuala do PDO - tam masz napisane jak sie dobrać do błędu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kreatiff
post
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Connection failed: SQLSTATE[HY000]: General error: 1 no such function: concat
A czy coś z tym pójdzie zrobić, albo jakoś to obejść?

dodane:
Idzie obejść. Dla potomnych:
  1. SELECT koncowka
  2. FROM koncowki
  3. WHERE 'kolor' LIKE '%'||koncowka


Bardzo dziękuję za pomoc w rozwiązaniu problemu.

Ten post edytował kreatiff 7.08.2012, 17:59:52
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 - 21:58