Problem mit if-Abfrage

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit if-Abfrage

Postby airis » 10. February 2005 19:00

Hallo Zusammen,

nachdem ich versucht habe mich einwenig in PHP und MySQL einzuarbeiten, stehe ich allerdings jetzt vor einem für mich nicht nachvollziehbaren Problem.
Ich habe folgendes Statement:
Code: Select all
<?php
$abfrage1 ="SELECT count(nickname) AS anzahl, nickname, dauer
            FROM valls
            GROUP BY nickname, dauer
            HAVING nickname='".$_SESSION["nickname"]."'
            ";
$ergebnis1 = mysql_query($abfrage1) or die (mysql_error());
   while($row = mysql_fetch_object($ergebnis1))
     {
    echo $row->anzahl;
    echo $row->nickname;
    echo $row->dauer;
     }
if ($row['anzahl'] == '2' && $row['dauer'] == '3' ) {

$abfrage2 ="SELECT POS_NAME, POS_TEXT
            FROM position WHERE POSITIONID = 1
            ";

$ergebnis2 = mysql_query($abfrage2) or die (mysql_error());
   while($row = mysql_fetch_object($ergebnis2))
     {
    echo $row->POS_NAME;
    echo $row->POS_TEXT;
     }
     }
    else{
    echo  "FALSCH";
    }
?>

Obwohl ich "anzahl=2" und "dauer=3" unter dem abgefragten Session-Nickname in der DB-Tabelle stehen habe, bekomme ich als Ergebnis
"FALSCH".

Habe ich meine if-Abfrage falsch formuliert oder nicht an der richtigen Stelle stehen.

Für jegliche Informationen bin ich dankbar.
Airis
airis
 
Posts: 134
Joined: 18. May 2004 12:33

Postby Wiedmann » 10. February 2005 19:32

$row = mysql_fetch_object($ergebnis1)

if ($row['anzahl'] == '2' && $row['dauer'] == '3' ) {

$row ist kein Array.

Du solltest dir alle Meldungen von PHP anzeigen lassen.
Last edited by Wiedmann on 11. February 2005 11:13, edited 1 time in total.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby airis » 11. February 2005 10:38

Hallo Wiedmann,

an Meldungen b.z.w. Ausgaben kommt folgendes:
2 hans 3 FALSCH

Kannst Du mir sagen, wie ich die if-Abfrage anders stellen muss?

Ich dachte nun einwenig schlauer zu sein, aber bei so einem Problem stehe ich dann wieder voll auf dem Schlauch.

Airis
airis
 
Posts: 134
Joined: 18. May 2004 12:33

Postby Wiedmann » 11. February 2005 11:13

an Meldungen b.z.w. Ausgaben kommt folgendes:
2 hans 3 FALSCH

Das ist ja klar, die gibst du ja selber aus... Ich meinte, du musst dir alle (Fehler-) Meldungen von PHP anzeigen lassen.

Kannst Du mir sagen, wie ich die if-Abfrage anders stellen muss?

Syntaktisch passt die if-Abfrage. Aber du hast kein Array "$row" und somit auch keinen Array-Schlüssel "['anzahl']" mit dem Wert "2" oder "['dauer']" mit "3". (--> du hast ein Objekt)


--> Wie hast du denn auf diese Werte im echo() zuvor zugegriffen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby airis » 11. February 2005 12:06

Ich meinte, du musst dir alle (Fehler-) Meldungen von PHP anzeigen lassen.

Wie kann ich mir die (Fehler-) Meldungen von PHP anzeigen lassen?
Syntaktisch passt die if-Abfrage. Aber du hast kein Array "$row" und somit auch keinen Array-Schlüssel "['anzahl']" mit dem Wert "2" oder "['dauer']" mit "3". (--> du hast ein Objekt)

Ich habe noch nichts mit Array's gemacht, habe es jetzt so probiert:
Code: Select all
$array = array( "$anzahl","$nickname","$werbedauer");
echo $array[0] . "<br>";
echo $array[1] . "<br>";
echo $array[2] . "<br>";

Bekomme allerdings nur den Nicknamen als Echo.

Wie formuliere ich denn das Array "$row" und den Array-Schlüssel richtig, damit meine if-Abfrage auch funzt?
Airis
airis
 
Posts: 134
Joined: 18. May 2004 12:33


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest