Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] mysqli::fetch() überschreibt mein array

Einklappen

Neue Werbung 2019

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

  • easyAnfaenger26
    hat ein Thema erstellt [Erledigt] mysqli::fetch() überschreibt mein array.

    [Erledigt] mysqli::fetch() überschreibt mein array

    Hallo,
    liebes Forum ich versuche verzeifelt eine einfache datenbankabfrage richtig auszulesen.Leider klappt es so nicht:

    PHP-Code:
    $statement->bind_result($result['id'],$result['betreff'],$result['typ'],$result['datum'],$result['gelesen'],$result['absender']);
        
        
    $row=array();

        while(
    $statement->fetch())
        {
    $row[]=$result;}
       
        echo 
    json_encode($row); 
    Das Problem ist hier, dass er mir in $row in jedem einzelelement immer nur die letze zeile meiner sql abfrage ausgibt.
    Wenn ich es jetzt ohne schleife und ohne array mache, also $row1,$row2 usw. einzeln mache funktioniert es:
    PHP-Code:
    $statement->fetch(); 
        
    $row[]=$result;
        
    $statement->fetch(); 
        
    $row[]=$result
    es scheint als würde er bis zur letzen zeile fetchen und dann jeweils die letze zeile in meinem Fall viermal eintragen,sodass ich dann viermal die gleiche nachricht erhalte.

    Versteht jemand dieses verhalten und weiß Abhife?
    Vielen Dank

  • easyAnfaenger26
    antwortet
    PHP-Code:
     $i=0;
        while(
    $statement->fetch())
        {
            
    $row[$i]['id']=$result['id'];
            
    $row[$i]['betreff']=$result['betreff'];
            
    $row[$i]['typ']=$result['typ'];
            
    $row[$i]['datum']=$result['datum'];
            
    $row[$i]['gelesen']=$result['gelesen'];
            
    $row[$i]['absender']=$result['absender'];
            
    $i++;
        } 
    Blöd aber manchmal geht es nur mit viel Code

    Einen Kommentar schreiben:


  • easyAnfaenger26
    antwortet
    Nö,ich hab mich geiirt
    Ändert nix an dem Problem

    Kann es denn sein,das PHP keine unabhängigen Kopien von Arrays erstellt?
    Also:
    PHP-Code:
    $a=array(0=>10,1=>15);
    $b=$a;
    $b=array(0=>10000);
    echo 
    $a[0];
    //Ausgabe: 10 
    Also hier jedenfalls nicht!!!

    Einen Kommentar schreiben:


  • easyAnfaenger26
    antwortet
    oh mann ich habe es doch noch selbst lösen können:

    Ich hatte nur das Feld "gelesen" mit NULL für 'ungelesen' definiert.
    Damit kommt PHP offenbar nicht klar.
    Jetzt habe ich es auf "0000-00-00 00:00:00" für ungelesen definiert und vola es läuft

    Einen Kommentar schreiben:


  • monolith
    antwortet
    Ja dein PHP ist kaputt.

    Also bitte, so eine Frage kann man nicht beantworten.

    Einen Kommentar schreiben:


  • easyAnfaenger26
    antwortet
    Leider nein,da wird der $key unterschlagen,außerdem liefert mir das nur ein Ergebnis.
    Folgendes ist ebenso merkwürdig:
    PHP-Code:
    $truecheck=true;     
        while(
    $truecheck==true)
        {
            if(
    $statement->fetch())
            {
                
    $row[]=$result;
            }
            else
            {
    $truecheck=false;}
        } 
    Liefert mir nur die erste Zeile!! HÄ? ist mein PHP kaputt oder bin ich nur zu doof.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    fetchAll statt fetch? (Nur geraten)

    Einen Kommentar schreiben:

Lädt...
X