MYSQL Abfrage
Superheld
- php
Hallo zusammen,
ich hänge gerade und brauche mal ein wenig hilfe.
Ich hole Daten (id) aus einer DB_1 und sammel diese:
//Die Einträge aus DB_1 sammeln
while ($mz=mysql_fetch_object($result_1))
{
$ids = array(" AND Hotel_ID = '$mz->id'");
foreach($ids as $id)
{
echo $id; //gibt "AND ID = '22' AND ID = '33'"
}
}
Dieses Ergebnis möchte ich nun an eine weitere MYSQL-Abfrage anhängen:
$query ="select * from datenbank where status='1' $id";
wenn ich den query nun mit echo ausgebe wird nur die letzte id genutzt:
select * from datenbank where status='1' AND ID = '33'
die Abfrage soll aber so aussehen:
select * from datenbank where (status='1' AND (ID = '22') or (ID = '33'))
Danke für eure Hilfe
Superheld ;-)
Mahlzeit Superheld,
foreach($ids as $id)
{
echo $id; //gibt "AND ID = '22' AND ID = '33'"
Logisch. Allerdings ist auch logisch, dass das nicht funktionieren kann, da kein Datensatz in der Spalte ID gleichzeitig mehrere Werte haben kann.
Dieses Ergebnis möchte ich nun an eine weitere MYSQL-Abfrage anhängen:
Warum das? Wieso JOINst Du nicht einfach die entsprechenden Tabellen dazu?
$query ="select * from datenbank where status='1' $id";
wenn ich den query nun mit echo ausgebe wird nur die letzte id genutzt:
select * from datenbank where status='1' AND ID = '33'
Auch das ist klar - es wird das genutzt, was in der Variablen $id enthalten ist. Wenn Du dort mehr erwartest, solltest Du vorher mehr hineinschreiben.
die Abfrage soll aber so aussehen:
[code lang=php]select * from datenbank where (status='1' AND (ID = '22') or (ID = '33'))
Dann ändere Deinen Code entsprechend. Ich habe z.B. nirgendwo eine Stelle gefunden, wo Du "OR" in irgendeiner Form in irgendeinen String geschrieben hast - wie kannst Du dann erwarten, dass in der fertigen SQL-Abfrage dieses Wörtchen enthalten ist?
MfG,
EKKi
Hallo,
das hat mir leider wenig geholfen:
$query = "select * from DB_1 as id INNER JOIN DB_2 as id";
Neuer Versuch:
$query = "select * FROM DB_1 WHERE DB_1.ID=DB_2.ID";
klappt aber leider auch nicht...
Ich habs gelöst! ;-)
Vielen Dank für den richtigen "Schubs"...
Hi!
das hat mir leider wenig geholfen:
Das ist das Problem einer falschen Syntax: es hilft leider nicht!
$query = "select * from DB_1 as id INNER JOIN DB_2 as id";
Was sagt Dir denn Dein mySql-Server dazu?
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)