NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Dotaz do databáze v LIKE jsou speciální znaky.

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
michales
Člen
Avatar
michales:16.5.2015 18:26

Dobrý den,
je nějaká šance dostat do dotazu do databáze do podmínky LIKE speciální znak?
Jedná se mi o 4 znaky a to: $, ., [, {
Dotaz mám například tento:

SELECT `Title`, Text FROM `songs` WHERE `Title` LIKE '$' AND t_id='1' GROUP BY Text ORDER BY Title

Nevypíše mi to nic, ikdyž existuje několik Title s tímto znakem na začátku.

Je nějaká možnost toto vyřešit aby to databáze vzala?
Samozřejmě přes php

Odpovědět
16.5.2015 18:26
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
Avatar
Lukáš Červený:16.5.2015 18:41

Toto je problém SQL, ne PHP. Pokud chceš dostat výsledky s dolarem jen na začátku, zkus použít:

LIKE '$%'

Jinak:

LIKE '%$%'

Mělo by to fungovat :)

Editováno 16.5.2015 18:43
 
Nahoru Odpovědět
16.5.2015 18:41
Avatar
michales
Člen
Avatar
Odpovídá na Lukáš Červený
michales:16.5.2015 18:45

Špatně jsem ten dotaz sem napsal, samozřejmě že jsem použil:

SELECT `Title`, Text FROM `songs` WHERE `Title` LIKE '$%' AND t_id='1' GROUP BY Text ORDER BY Title

Nic to bohužel nevypíše.
Zajímavé je že znaky jako ' a ( to vezme.
A opravdu existujou v databázi položky i stěmi znaky $ . [ { Ale dotaz mi je nechce vzít.

Nahoru Odpovědět
16.5.2015 18:45
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
Avatar
Odpovídá na michales
Lukáš Červený:16.5.2015 18:56

Ok, možná bych zkusil:

SET NAMES utf8

Pokud máž možnost vyzkoušet dotaz v PHPMyAdminu, testoval bych ho tam. Nevím, k čemu používáš GROUP BY, možná by to mohlo dělat neplechu. Taky si zkontroluj že existuje písnička '$...' s t_id = 1.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
16.5.2015 18:56
Avatar
michales
Člen
Avatar
Odpovídá na Lukáš Červený
michales:16.5.2015 19:00

Sypu si popel na hlavu, $ nemá t_id=1 :D

Nahoru Odpovědět
16.5.2015 19:00
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.