Problem mit SQL-Anweisung
Bobby
- datenbank
0 Ilja
Moin
ich habe ein etwas seltsames Problem. Ich habe eine SQL-Abfrage, die im PhpMyAdmin funktioniert aber im PHP-Code nicht. Immer wenn das Ergebnis leer ist, wird das Script abgebrochen und der MySQL-Query ohne Fehlermeldung zurückgegeben. Ich habe das Problem auch eingrenzen können. Dies geschieht nur, wenn ich das im Query "GROUP" habe. Ohne dieses "GROUP" taucht das Problem nicht auf. An was kann das liegen?
Hier der Query
SELECT * , unternehmen.id AS uid, ordzeiten.id AS offen
FROM unternehmen
LEFT JOIN ordzeiten ON ( ordzeiten.firmid = unternehmen.id
AND (
(
ordzeiten.daystart <= '3'
AND ordzeiten.dayend >= '3'
)
OR (
ordzeiten.daystart <= '3'
AND ordzeiten.dayend >= '3'
) )
AND (
(
ordzeiten.timestart < '16'
AND ordzeiten.timeend > '16'
)
OR (
ordzeiten.timestart < '21'
AND ordzeiten.timeend > '16'
)
)
)
WHERE aktiv = '1'
AND (
suchbegriffe LIKE '%b%'
OR Ort LIKE '%b%'
OR plz LIKE '%b%'
OR name LIKE '%b%'
OR famname LIKE '%b%'
OR beschreibung LIKE '%b%'
OR schlagworte LIKE '%b%'
)
AND (
suchbegriffe LIKE '%nmvgnkm%'
OR Ort LIKE '%nmvgnkm%'
OR plz LIKE '%nmvgnkm%'
OR name LIKE '%nmvgnkm%'
OR famname LIKE '%nmvgnkm%'
OR beschreibung LIKE '%nmvgnkm%'
OR schlagworte LIKE '%nmvgnkm%'
)
GROUP BY unternehmen.id
ORDER BY ordzeiten.id DESC , unternehmen.status DESC
LIMIT 0 , 30
Gruß Bobby
yo,
deine abfrage funktiniert nur bei mysql (GROUP BY prbolematik), alle anderen dbms würden dir eine fehlermeldung ausgeben und das zurecht. um es direkt zu sagen, nimm deine abfrage und schmeiss sie in die tonne, dann überlege dir noch einmal, was genau du machen willst. das thema fullindex könnte für dich auch noch interessant sein.
Ilja