... LIKE "%Tabellenfeld%" ?

Biohazard84

Grünschnabel
Hi,

ich habe ein Problem und hoffe, wenn überhaupt möglich, dieses hier mit euch zu lösen.

PHP:
SELECT
  $tabelle3.id,
  $tabelle2.plz
FROM
  $tabelle1,
  $tabelle2,
  $tabelle3
WHERE
  $tabelle1.id = '$s_uid' &&
  $tabelle2.id = $tabelle1.kontackt_id &&
  $tabelle3.regionen LIKE '%$tabelle2.plz%'
";
$erg = mysql_query($abfrage, $verbindung) or die(mysql_error());
list($s_dref, $plz) = @mysql_fetch_row($erg);
Kann man irgendwas ändern damit die LIKE anweisung funktioniert?
 
Was soll das Query denn tun?
Was sind das für Felder (Typ)?
Bist Du Dir sicher, dass Du in der LIKE-Bedingung eine PHP-Variable reinschreiben willst?
Vielleicht meinst Du ja sowas:
Code:
...
...LIKE CONCAT('%',tabelle2.plz,'%')
Wenn da wirklich Postleitzahlen drinstehen, also alle fünfstellig, wird das vermutlich nicht zum Erfolg führen.
Bedenke: Wir kennen weder Deine Datenbank, noch die Intention Deines Querys. Du sagst auch nicht, was nicht funktioniert, gibst keine Fehlermeldung und beschreibst nicht, wie das Ergebnis aussehen würde, wenn es funktionieren würde.

Gruß hpvw
 
Sorry,

fehlermeldungen kommen keine.
Es wird nur nichts ausgegeben.
Die ausgabe der PLZ ist eh nur zum Testen.

Hier mal was das ganze machen sollte:

- Ich hole mir aus Tabelle 1 bei der die ID(int) = $s_uid(int) sein muss die Kontackt_ID(int).

- Diese brauche ich dann um in Tabelle 2 den Eintrag mit der ID(int) = Kontackt_ID(int) auszuwählen.

- Und aus dieser Tabelle 2 hole ich mir die PLZ(varchar(5)).

- Nach dieser PLZ suche ich jetzt in Tabelle 3 Feld Regionen(varchar(255)) und will die ID von dem Eintrag in dem die PLZ vorkommt.

In dem Feld Regionen sind mehrere PLZ's durch ; getrennt.

Ist sehr kompliziert, sorry ^^
 
Dann würde ich mit LOCATE arbeiten:
Code:
...
AND LOCATE(tabelle2.plz,tabelle3.regionen)>0
Hast du wirklich $ am Anfang der Tabellennamen? Das würde ich weglassen, es könnte mit einem String des PHP-Codes verwechselt werden und evtl. weitere Probleme verursachen.

Gruß hpvw
 
nene, das mit den $ ist schon richtig.

Habe die Tabellennamen in einer config.php in variablen gespeichert.

Danke für die Antwort. Werde das gleich mal testen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück