07. juni 2006 - 22:11Der er
20 kommentarer og 1 løsning
PHP kan ikke køre query
Hej eksperter! Nu kaster jeg håndklædet i ringen. Kan simpelthen ikke få dette til at give nogen som helst mening. Når jeg kører følgende mysql query i PHP får jeg fejlen Unknown table 'o' in where clause Men når jeg kører samme query i phpmyadmin giver den ingen fejl overhovedet. Hvordan i alverdan kan det hænge sammen? - Jeg giver fortabt.. Query'en burde vel være ok?
SELECT o.* FROM opskrifter as o LEFT JOIN ingredienser as i ON (i.opskrift = o.id) LEFT JOIN ingredienser_ingredienser as i2 ON (i.ingrediens = i2.id) WHERE (o.navn LIKE '%søg%' OR beskrivelse LIKE '%søg%' OR i2.navn LIKE '%søg%') group by o.id order by o.navn ascUnknown
SELECT o.* FROM opskrifter o LEFT JOIN ingredienser as i ON (i.opskrift = o.id) LEFT JOIN ingredienser_ingredienser as i2 ON (i.ingrediens = i2.id) WHERE (o.navn LIKE '%søg%' OR beskrivelse LIKE '%søg%' OR i2.navn LIKE '%søg%') group by o.id order by o.navn ascUnknown
Prøv lige at test denne SQL, ikke at den er meget anderledes:
SELECT o.* FROM opskrifter AS o LEFT JOIN ingredienser AS i ON i.opskrift = o.id LEFT JOIN ingredienser_ingredienser AS i2 ON i.ingrediens = i2.id WHERE o.navn LIKE '%søg%' OR o.beskrivelse LIKE '%søg%' OR i2.navn LIKE '%søg%' GROUP BY o.id ORDER BY o.navn ASC
Synes godt om
Slettet bruger
07. juni 2006 - 22:21#11
SELECT opskrifter.* FROM opskrifter LEFT JOIN ingredienser ON (ingredienser.opskrift = opskrifter.id) LEFT JOIN ingredienser_ingredienser as ingredienser_ingredienser ON (ingredienser .ingrediens = ingredienser_ingredienser.id) WHERE (opskrifter.navn LIKE '%søg%' OR beskrivelse LIKE '%søg%' OR ingredienser_ingredienser.navn LIKE '%søg%') group by opskrifter.id order by opskrifter.navn asc
Hmm.. Jeg kan simpelthen ikke knække den her.. Det burde virke når det virker gennem phpmyadmin.. Jeg har nu lavet en omfattende work-around i php, så jeg undgår hele where-delen af query'en.. og det virker.. men tak for de gode forslag..!
Måske er det i virkeligheden noget helt andet som går galt...
Prøv at udskrive din SQL-sætning tilt skærmen fra PHP inden at du beder MySQL om at udføre den. Det kunne være at den så andreledes ud på denne form end hvad du forventer.
Den query jeg har sat ind her, er lavet nøjagtigt på samme måde som du beskriver, så det burde ikke være noget problem.. Men jeg har ihvertfald løst det på en anden måde nu..
Prøv lige som nielle siger, udskriv SQL'en inden du skyder den af mysql_query();
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.