Abfrage mySQL (nochmal)
am 23.10.2007 15:49:18 von ralf-k-k
Weiß gerade nicht weiter:
Das hier funktioniert:
$result = mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr
LIKE $new_hausnr")
Soll aber erweitert werden zu sowas "ähnlichem" wie hier:
$result = mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr
LIKE $new_hausnr OR WHERE hausnr LIKE $new_hausnr2")
Aber das funktionert nicht...
Es soll also bei der Abfrage nachgeschaut werden, ob in der Tabelle
hausnr den Wert $new_hausnr steht, und wenn das nicht der Fall ist,
soll geprüft werden, ob hausnr den Wert $new_hausnr2 hat.
Re: Abfrage mySQL (nochmal)
am 23.10.2007 16:05:09 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: Abfrage mySQL (nochmal)
am 23.10.2007 16:43:46 von Claus Reibenstein
Ralf K. schrieb:
> $result = mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr
> LIKE $new_hausnr OR WHERE hausnr LIKE $new_hausnr2")
Lass mal das zweite WHERE weg.
Gruß. Claus
Re: Abfrage mySQL (nochmal)
am 23.10.2007 17:17:59 von ralf-k-k
Geht leider auch nicht. :-(
Re: Abfrage mySQL (nochmal)
am 23.10.2007 18:05:43 von dafox
Ralf K. schrieb:
> Geht leider auch nicht. :-(
Wie ich bereits schrieb:
SELECT hausnr
FROM leitungswege t1
WHERE t1.hausnr = $new
OR NOT EXISTS(SELECT * FROM leitungswege t2 WHERE t2.hausnr = $new)
AND t1.hausnr = 1;
Re: Abfrage mySQL (nochmal)
am 23.10.2007 18:07:50 von dafox
Ralf K. schrieb:
> Geht leider auch nicht. :-(
Wie ich bereits schrieb:
SELECT hausnr
FROM leitungswege t1
WHERE t1.hausnr = $new
OR NOT EXISTS(SELECT * FROM leitungswege t2 WHERE t2.hausnr = $new)
AND t1.hausnr = 1;
bzw. für MySQL
SELECT hausnr
FROM leitungswege t1
WHERE t1.hausnr = IF((SELECT COUNT(*) FROM leitungswege t2 WHERE
t2.hausnr = $new) > 0, $new, 1);
Re: Abfrage mySQL (nochmal)
am 23.10.2007 18:58:40 von Joerg Behrens
Ralf K. schrieb:
> Weiß gerade nicht weiter:
>=20
> Das hier funktioniert:
>=20
> $result =3D mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr=20
> LIKE $new_hausnr")
>=20
> Soll aber erweitert werden zu sowas "ähnlichem" wie hier:
>=20
> $result =3D mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr=20
> LIKE $new_hausnr OR WHERE hausnr LIKE $new_hausnr2")
>=20
> Aber das funktionert nicht...
>=20
> Es soll also bei der Abfrage nachgeschaut werden, ob in der Tabelle=20
> hausnr den Wert $new_hausnr steht, und wenn das nicht der Fall ist,=20
> soll geprüft werden, ob hausnr den Wert $new_hausnr2 hat.
Wenn du einen SQL Fehler vermutest dann zeige uns das Statement und=20
nicht den PHP Code.
Wenn du einen SQL Fehler vermutest dann frage in MySQL Gruppe neben an.
Wenn du einen SQL Fehler hast dann frage den Server nach der=20
Fehlermeldung. Oftmals sieht man dann wo der Fehler sitzt.
Gruss
Joerg
--=20
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Re: Abfrage mySQL (nochmal)
am 23.10.2007 19:59:19 von Claus Reibenstein
Thomas Hamacher schrieb:
> Ralf K. schrieb:
>
>> Geht leider auch nicht. :-(
>
> Wie ich bereits schrieb:
Wann? Wo? In diesem Thread jedenfalls nicht.
Gruß. Claus
Re: Abfrage mySQL (nochmal)
am 23.10.2007 21:34:58 von dafox
Claus Reibenstein schrieb:
> Thomas Hamacher schrieb:
>> Wie ich bereits schrieb:
> Wann? Wo? In diesem Thread jedenfalls nicht.
Nein, aber in als Reply auf
seine identische Frage von gestern.
Re: Abfrage mySQL (nochmal)
am 24.10.2007 08:52:39 von Irmgard Schwenteck
Ralf K. schrieb:
>
> $result = mysql_query("SELECT hausnr FROM leitungswege WHERE hausnr
> LIKE $new_hausnr OR WHERE hausnr LIKE $new_hausnr2")
>
> Aber das funktionert nicht...
Abgesehen von dem doppelten WHERE
Was steht denn in $new_hausnr?
Bau Dir doch den SQl-String vorher zusammen und laß ihn mit echo
ausgeben. Dann siehst Du schon die groben Syntaxfehler, wie z.B. fehlende '.
Dann testest Du diesen direkt am SQL-Server und schaust, ob es
funktioniert wie gewünscht.
Gruß
Irmgard
Re: Abfrage mySQL (nochmal)
am 24.10.2007 09:10:26 von ralf-k-k
Vielleicht liegt mein Fehler auch schon hier:
if ($result = mysql_query("SELECT vorwahl, strassenbez, hausnr, plz,
ort, telefonie, dslampel, kvz_fremd_kz, kvz_eigen_kz FROM leitungswege
WHERE hausnr LIKE $new_hausnr AND plz LIKE $new_plz AND strassenbez
LIKE $new_strasse"))
{
usw...
}
Wann ist die Bedingung der if Abfrage denn erfüllt?
Meine Anforderung:
Wenn in der Datenbank nicht in einem Datensatz $new_hausnr, $new_plz
und $new_strasse auftauchen, soll halt als Beispiel nach $new_hausnr,
$new_plz und $new_strasse2 geguckt werden.
Re: Abfrage mySQL (nochmal)
am 24.10.2007 09:24:41 von Joerg Behrens
Ralf K. schrieb:
> Vielleicht liegt mein Fehler auch schon hier:
>=20
> if ($result =3D mysql_query("SELECT vorwahl, strassenbez, hausnr, plz,=
=20
> ort, telefonie, dslampel, kvz_fremd_kz, kvz_eigen_kz FROM leitungswege =
> WHERE hausnr LIKE $new_hausnr AND plz LIKE $new_plz AND strassenbez=20
> LIKE $new_strasse"))
>=20
> {
> usw...
> }
>=20
>=20
> Wann ist die Bedingung der if Abfrage denn erfüllt?
>=20
> Meine Anforderung:
>=20
> Wenn in der Datenbank nicht in einem Datensatz $new_hausnr, $new_plz=20
> und $new_strasse auftauchen, soll halt als Beispiel nach $new_hausnr,=20
> $new_plz und $new_strasse2 geguckt werden.
Das hatten wir doch schon geklaert? Was hat dir an den Anworten nicht=20
gepasst oder warum wendest du diese nicht an? Wobei diese Anforderung=20
ein bisschen anderes klingt als letztes mal.
Dein MySQL kann dir doch sagen obs treffer gab und wenn nein dann must=20
du eine 2. Abfrage senden.
Gruss
Joerg
--=20
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Re: Abfrage mySQL (nochmal)
am 24.10.2007 11:08:04 von Claus Reibenstein
Joerg Behrens schrieb:
> Ralf K. schrieb:
>
>> Vielleicht liegt mein Fehler auch schon hier:
>>
>> if ($result = mysql_query([...]))
>>
>> Wann ist die Bedingung der if Abfrage denn erfüllt?
Wenn die Query fehlerfrei ausgeführt werden konnte.
Gruß. Claus