1.6k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hi,
morgens scheint mein Kopf nicht richtig da zu sein. Folgende
Abfrage - getestet in phpMyAdmin.

$ergebnis = mysql_query("
SELECT *
FROM adressen AS A
JOIN adressen AS B ON ( A.nname = B.nname
AND A.nfirma = B.nfirma
AND A.nvorname = B.vorname
AND NOT (
A.lfnr = B.lfnr
) )
WHERE A.nfirma LIKE 'a%'
LIMIT 0,1");


und folgende Anzeige:

while($rows = mysql_fetch_object($ergebnis))
{
echo $row->A.nname;
echo "<br>";
}


Leider liefert $row->A.nname - nur die Fehlermeldung -
Notice: Undefined variable: row in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19

Notice: Trying to get property of non-object in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19

Notice: Use of undefined constant nname - assumed 'nname' in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19
nname

- Wie muss die Spalte richtig heissen mit '' geht auch nicht :-(

Danke

6 Antworten

0 Punkte
Beantwortet von ennok Experte (1.2k Punkte)
Was fällt dir in diesen beiden Zeilen auf?

while($rows = mysql_fetch_object($ergebnis))
echo $row->A.nname;


Das sagt ja auch schon ziemlich deutlich die erste Fehlermeldung.
0 Punkte
Beantwortet von
oky - mit rows -

echo $rows->A.nname;

kommt dieses
Notice: Undefined property: stdClass::$A in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19

Notice: Use of undefined constant nname - assumed 'nname' in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19
nname
0 Punkte
Beantwortet von
row - rows
0 Punkte
Beantwortet von
Hi,
schon klar geht aber nicht -

$ergebnis = mysql_query("
SELECT *
FROM adressen AS A
JOIN adressen AS B ON ( A.nname = B.nname
AND A.nfirma = B.nfirma
AND A.nvorname = B.vorname
AND NOT (
A.lfnr = B.lfnr
) )
WHERE A.nfirma LIKE 'a%'
LIMIT 0,1");
while($rows = mysql_fetch_object($ergebnis))
{
echo $rows->A.nname;
echo "<br>";
}


Notice: Undefined property: stdClass::$A in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19

Notice: Use of undefined constant nname - assumed 'nname' in
C:\xampp\htdocs\koegeldatenbank\tes2.php on line 19
nname
0 Punkte
Beantwortet von ennok Experte (1.2k Punkte)
Das ist eine Einschränkung von mysql_fetch_object().

Du kannst aber ein Alias für die Felder, die Du benötigst, angeben und das dann verwenden:

$ergebnis = mysql_query("
SELECT *, A.nname AS A_nname
FROM adressen AS A
JOIN adressen AS B ON ( A.nname = B.nname
AND A.nfirma = B.nfirma
AND A.nvorname = B.vorname
AND NOT (
A.lfnr = B.lfnr
) )
WHERE A.nfirma LIKE 'a%'
LIMIT 0,1");
while($rows = mysql_fetch_object($ergebnis))
{
echo $rows->A_nname;
echo "<br>";
}
0 Punkte
Beantwortet von
Danke Ennok,
das hat geholfen - Super THX
...