Ankündigung

Einklappen
Keine Ankündigung bisher.

foreach Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • foreach Fehler

    Hallo ich aheb nen Script gemacht das bei mir auf dem Pc ohne prob. laüft , wenn ich es aber auf den Webspace lade dann kommt immer:

    Warning: Invalid argument supplied for foreach() in /usr/export/www/vhosts/funnetwork/hosting/honk900/knuddels_hp-s/coolesgirl 13-13/dank1.php on line 17

    Das srcipt:

    PHP-Code:
    <?php
    $dbcon 
    mysql_connect"localhost""benutzer""Password" );
    mysql_select_db"datenbank"$dbcon );
    $sql "SELECT * FROM kiss";
    $abfragemysql_query($sql$dbcon);
    while( 
    $datensatz mysql_fetch_assoc($abfrage) ){
        
    $tabelle[] = $datensatz;
    }
     foreach(
    $tabelle as $datensatz)
          {
              if(
    $datensatz['kiss'] == "")
                {
        echo 
    '<tr>';
        echo 
    '<td>';
        echo 
    "Ich habe Leider noch keinen";
        echo 
    '</tr>';
        echo 
    '</td>';
                }
             else
             {
        echo 
    '<tr>';
        echo 
    '<td>';
        echo 
    'Danke' ' ' $datensatz['nick'] . ' ' 'für' ' ' 'meinen' ' ' $datensatz['strauss'] . ' ' 'Strauß';
        echo 
    '</td>';
        echo 
    '</tr>';
              }
          }
    ?>

    Wo ist den da nen Fehler???
    Gruß André

  • #2
    Da ist $tabelle kein Array. Man kann daraus schließen, dass es keine Datensätze in der Tabelle gibt. Schreibe mal die Zeile
    PHP-Code:
    error_reporting(E_ALL); 
    an den Anfang des Scriptes, vielleicht möchte PHP dir ja noch andere Sachen sagen.

    Gruß
    phpfan

    Kommentar


    • #3
      deine topic sagt doch schonn foreach fehler, warum ist es dan im MySQL Forum?
      :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

      Kommentar


      • #4
        wenn du das skript trozdem so behalten willst täte ich vor
        der while schleife einfach $tabelle = array(); schreiben
        http://www.rentmyphone.com

        Kommentar


        • #5
          Aus dem Script ist der Fehler nicht ersichtlich. irgendwie scheint $tabelle kein Array zu sein.
          Aber warum schreibst du die Daten überhaupt zuerst in eine Array, um diesen dann zur Ausgabe erneut zu durchlaufen? Viel einfacher wäre doch:
          PHP-Code:
          $dbcon mysql_connect("localhost""benutzer""Password");
          mysql_select_db("datenbank");
          $sql "SELECT kiss, nick, strauss 
                      FROM kiss"
          ;
          $abfrage mysql_query($sql) or die(mysql_error());
          while(
          $datensatz mysql_fetch_assoc($abfrage)){
              echo 
          "<tr><td>";
              echo empty(
          $datensatz['kiss']) ? "Ich habe leider noch keinen" 
                              
          "Danke " $datensatz["nick"] . " für meinen " $datensatz["strauss"] . " Strauß";
              echo 
          "</td></tr>\n"

          Gruss
          L

          Kommentar


          • #6
            Wenn die Abfrage keinen einzigen Datensatz liefert, ist $tabelle keine Feld, da es offenbar nicht initalisiert wurde.

            PHP-Code:
            $sql "SELECT * FROM kiss";
            $abfragemysql_query($sql$dbcon) or die(mysql_error().': '.$sql);

            $tabelle = array();
            while( 
            $datensatz mysql_fetch_assoc($abfrage) ) {
                
            $tabelle[] = $datensatz;

            Kommentar


            • #7
              Ok danke!! Ich werde alles mal abchecken!!!

              Und danke lazydog das du dir so ne mühe gemacht ats das zu Schreiben!!!
              Gruß André

              Kommentar

              Lädt...
              X