MySQLi_Fetch_Array Fehler

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

sveka

Mitglied
26 Mai 2006
107
0
16
33
Liebe Gemeinde,

ich kann keinen Fehler finden (oder bin betriebsblind)

Code:
$db_erg_2 = mysqli_query($db, $sql);
if ( ! $db_erg_2 )
{
  die('Ungültige Abfrage: ' . mysqli_error());
}

while ($zeile_2 = mysqli_fetch_array($db_erg_2,MYSQLI_ASSOC))
    {

[...]


}


mysqli_free_result( $db_erg_2 );
// Verbindung schließen
mysqli_close($db);

Bekomme immer ... Warning: mysqli_fetch_array(): Couldn't fetch mysqli_result in /homepages/19/d547153104/htdocs/bildung/profiling/php/konto.php on line 37
 

basti1012

Senior HTML'ler
26 November 2017
1.475
157
63
39
Minden
sebastian1012.bplaced.net
Ich glaube du musst etwas mehr Code posten, und möglich alles und nicht die Hälfte weglassen.
Wenn ich deinen Code teste, mit richtigem Code davor, danach und auch in der schleife, funktioniert der Code auch.

Wenn du mal Googel nutzt dann siehst du das der Fehler auf mehrere arten kommen kann und keine von den trifft auf deinen Code Schnipsel zu.

Mach doch mal ein paar Prints da rein dann siehst du vielleicht schon selber wo der Fehler herkommt.
PHP:
$db_erg_2 = mysqli_query($db, $sql);
print_r($db_erg_2);
if (!$db_erg_2){
  die('Ungültige Abfrage: ' . mysqli_error());
}
while ($zeile_2 = mysqli_fetch_array($db_erg_2,MYSQLI_ASSOC)){
       print_r($zeile_2);
}

mysqli_free_result($db_erg_2);
mysqli_close($db);
Falls nicht poste mal den ganzen Code der dazu gehört
 
Zuletzt bearbeitet:

sveka

Mitglied
26 Mai 2006
107
0
16
33
Hier der komplette Code ...

Code:
// SQL-Anweisung

$sql = "SELECT * ,DATE_FORMAT(created_at, '%d. %M %Y') AS Datum1 FROM users WHERE id ='" . $_SESSION['session_id'] . "' ";

$db_erg_2 = mysqli_query($db, $sql);
if ( ! $db_erg_2 )
{
  die('Ungültige Abfrage: ' . mysqli_error());
}


while ($zeile_2 = mysqli_fetch_array($db_erg_2,MYSQLI_ASSOC))
    {
        
  
?>

<p>Sie haben folgende Daten bei uns hinterlegt:</p>
<form action="../inc/registrierung_aendern.php" method="POST" enctype="multipart/form-data">

        <table>
        <tr>
        <td>Vorname</td>
        <?php echo "<td>". $zeile_2['vorname'] ."</td>"; 
        echo "<td><input type='text' name='firstname' placeholder='Vorname' value=' ". $zeile_2['vorname'] ." '></td>"; ?>
        </tr>

        <tr>
        <td>Nachname</td>
        <?php echo "<td>". $zeile_2['nachname'] ."</td>"; 
        echo "<td><input type='text' name='lastname' placeholder='Nachname' value=' ". $zeile_2['nachname'] ." '></td>"; ?>
        </tr>

        <tr>
        <td>Firma</td>
        <?php echo "<td>". $zeile_2['firma'] ."</td>"; 
        echo "<td><input type='text' name='firma' placeholder='Firma'' value=' ". $zeile_2['firma'] ." '></td>"; ?>
        </tr>

        <tr>
        <td>E-Mail</td>
        <?php echo "<td>". $zeile_2['email'] ."</td>"; 
        echo "<td><input type='text' name='email' placeholder='E-Mail' value=' ". $zeile_2['email'] ." '></td>"; ?>
        </tr>

        <tr>
        <td>Passwort</td>
        <td align="center"> * * * *</td>
        <td><input type="password" name="password" placeholder="Passwort" required></td>
        </tr>
        
        <tr >
        <td colspan="3"><input type="submit" name="submit"></td>
        </tr>
        </table>
   
</form>



Sie sind bei uns registriert seit dem: <?php echo "". $zeile_2['Datum1'] .""; ?>

<?

    

mysqli_free_result( $db_erg_2 ); 
// Verbindung schließen
mysqli_close($db);

?>
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Hier der komplette Code ...
Warning: mysqli_fetch_array(): Couldn't fetch mysqli_result in /homepages/19/d547153104/htdocs/bildung/profiling/php/konto.php on line 37
Zeile 37 wäre demnach
PHP:
 echo "<td><input type='text' name='firma' placeholder='Firma'' value=' ". $zeile_2['firma'] ." '></td>"; ?>
Also nicht der komplette Code.

Ich sehe da kein Problem. Bist du dir sicher, dass das der Quellcode von konto.php ist?
 

sveka

Mitglied
26 Mai 2006
107
0
16
33
Ja, das ist der Code von konto.php

Deshalb bin ich ja verwirrt... denn ich sehe auch keinen Fehler.
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.103
408
83
67
Ins Blaue geraten: IDs sind häufig numerisch, Du übergibst sie jedoch als String. Falls sie in der DB numerisch ist, würdest Du keine Übereinstimmung bekommen.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Da ich der Meinung bin, dass das immer noch nicht der komplette Quellcode ist, rate ich mal:
PHP:
mysqli_free_result( $db_erg_2 );
// Verbindung schließen
mysqli_close($db);
steht in der while-Schleife
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Nachtrag:

Code:
WHERE id ='" . $_SESSION['session_id'] . "' "
Wieviele Treffer erwartest du damit? Macht eine Schleife da überhaupt Sinn?

Meine Antwort dazu: 1 und nein.
 

sveka

Mitglied
26 Mai 2006
107
0
16
33
Danke für eure Hilfe. Habe die Klammern entfernt und eine einfache Abfrage und Ausgabe gemacht. Denn ein Array war in der Tat Quatsch. Denn es kann nur ein Ergebnis geben. Jetzt geht alles :)