Autor Zpráva
ForestCZE
Profil
Zdravím, mám tento SQL dotaz:

SELECT * FROM `teams` WHERE (`mode_id` IN('1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29,34,35'))

Vyselectuje mi to záznamy pouze s mode_id, které je rovno 1. Proč? Děkuji.


EDIT: Problém je v těch uvozovkách. Musí to být takto:

SELECT * FROM `teams` WHERE (`mode_id` IN(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29,34,35))

Jak ale potom upravit ten dotaz?

$this->database->getTeams()->where('mode_id IN(?)', implode(',', $mID))->fetchAll();
lionel messi
Profil
ForestCZE:

IN pracuje inak, ak dostane reťazec (tvoj 1. kód) a sadu čísel (2. kód).

Akú používaš databázovú vrstvu? Ako má definovanú metódu where()?
ForestCZE
Profil
lionel messi:
Database explorer
Radek9
Profil
ForestCZE:
Prostě tam předej pole čísel.
blaaablaaa
Profil
ForestCZE:
->where('mode_id IN(?)',  $mID)
ForestCZE
Profil
Radek9:
Jej, jsem měl za to, že do IN nemůžu předat pole. Nevím proč. Děkuji.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0