Autor Zpráva
GeneralDv
Profil
Zdravím. Dělám anketu a narazil sem na podivnou chybu při dotazu. Mám:
tabulku: ankety_hlasy
Sloupce: id(int), anketa (int), dns (varchar), ip (varchar), odp (varchar)
1 Záznam: a teď když se zeptam dotazem:

select * from ankety_hlasy where anketa='5' and ip='89.102.76.169' or dns='ip-89-102-76-169.karneval'


Tak mi to vrací 1 řádek, záznam v tabulce odpovídá přesně dotazu až na anketa='5' kdy má místo 5 bejt 3... Mělo by to tedy vracet 0 řádků, čím to může být ?
ninja
Profil
Mýslim že chcete:
select * from ankety_hlasy where anketa='5' and (ip='89.102.76.169' or dns='ip-89-102-76-169.karneval')
tiso
Profil
GeneralDv priorita operátorov AND a OR?
roberta
Profil
je rozdiel medzi
select * from ankety_hlasy where anketa='5' and ip='89.102.76.169' or dns='ip-89-102-76-169.karneval'

a
select * from ankety_hlasy where anketa='5' and (ip='89.102.76.169' or dns='ip-89-102-76-169.karneval')
GeneralDv
Profil
Dík, problém vyřešen..
tiso: Priorita mi nic neřiká, mrknu na to..
roberta: To je i v PHP ?
roberta
Profil
To je i v PHP
ak myslíš určovanie priority operátorov pomocou zátvoriek, tak je to tak aj v PHP
nightfish
Profil
ak myslíš určovanie priority operátorov pomocou zátvoriek, tak je to tak aj v PHP
a pokud myslíš rozdílnou prioritu logických spojek AND a OR, tak taky
Toto téma je uzamčeno. Odpověď nelze zaslat.