IN () met variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Anne

Anne

08/03/2009 15:48:00
Quote Anchor link
Beste Allemaal,

In MySQL wil ik IN() gebruiken met een variabele.
$allebranche = ('Woonkamer')

In mijn SQL code heb ik dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE
branche_id IN ".mysql_real_escape_string($allebranche)."


Maar dat werkt niet...

Iemand een idee wat ik verkeerd doe?
 
PHP hulp

PHP hulp

26/12/2024 02:16:45
 
Erwin Geen

Erwin Geen

08/03/2009 15:50:00
Quote Anchor link
Er moeten toch haakjes omheen?
dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE
branche_id IN (".mysql_real_escape_string($allebranche).")
 
Anne

Anne

08/03/2009 15:58:00
Quote Anchor link
Die haakjes heb ik al bij $allebranche.
 
Bo az

Bo az

08/03/2009 16:05:00
Quote Anchor link
Anne schreef op 08.03.2009 15:58:
Die haakjes heb ik al bij $allebranche.


Het probleem is waarschijnlijk ook de inhoud van die variabele, daar zitten ook de quotes in en die worden weer geescaped door mysql_real_escape_string. Waarschijnlijk gaat het daar dus fout, maar dat kan ik niet met zekerheid zeggen omdat je niet zegt wat er fout gaat. Dat is dan ook een tip voor de volgende keer, zet er even een foutmelding of iets dergelijks bij.
 

08/03/2009 16:11:00
Quote Anchor link
Anne schreef op 08.03.2009 15:58:
Die haakjes heb ik al bij $allebranche.

Nee, dat zijn de haakjes van mysql_real_escape_string. Ze moeten ook nog om IN (binnen de aanhalingstekens).

Edit:

Sorry, heb weer eens scheef zitten kijken... je had gelijk :P Al is het niet erg handig zo
Gewijzigd op 01/01/1970 01:00:00 door
 
Jesper Diovo

Jesper Diovo

08/03/2009 16:50:00
Quote Anchor link
Ten eerste moet je aangeven dat je het over een string hebt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE
branche_id IN '".mysql_real_escape_string($allebranche)."'


En ten tweede geldt 'IN' alleen voor SELECT-resultaten, dacht ik. Dus zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE
branche_id IN (SELECT id FROM branche)


De SELECT geeft hier een lijst terug met alle id's, waarop gekeken wordt of de branche_id in die lijst voor komt.
 
Anne

Anne

08/03/2009 17:02:00
Quote Anchor link
bedankt het is me inmiddels gelukt
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.