Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_fetch_array boolean Rückgabe Fehler

Einklappen

Neue Werbung 2019

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

  • mysql_fetch_array boolean Rückgabe Fehler

    Moin Leute,

    schreibe im Moment an einem Chatscript und hab mir das ganze über eine TuT von php-einfach geholt. Nun ja, dieses TuTist nicht gerade gut erklärt. Den Ajax Teil habe ich schon hinbekommen. Nun ja. Nun führe ich das script aus, und es kommt:
    PHP-Code:
    Warningmysql_fetch_array() expects parameter 1 to be resourceboolean given in 
    /ajax_loader.php
     on line 8 
    Die DB ist im Moment noch leer, kann es vielleicht daran liegen?







    Aktueller Code der ajax_loader.php
    PHP-Code:
     <?php 
    //Config auslesen
    require_once('inc/config.php');
    $channel "BetaHO";
    echo 
    '
    <div id="ajax_chat" style="border:1px dotted black; width:402px; height:190px; padding:5px; overflow: auto;">'
    ;
              
    $abfrage mysql_query("SELECT * FROM $table where channel='$channel'");
              while(
    $row mysql_fetch_array($abfrage))
              {
                echo 
    $row['message'].'<br />';
              }
    '
     <form action="index.php" method="post">
        <table border="0">
            <tr>
                <th><span style="font-weight:normal;">Nachricht:</span></th><td><input type="text" name="eintrag" value="'
    .htmlspecialchars($_POST['eintrag']).'" id="textbox">&nbsp;<input type="submit" name="eintragen" value="Senden!" id="button">&nbsp;<input type="button" id="button" onClick="loadXMLDoc();" value="Reload"></td>
            </tr>
        </table>
        </div>'
    ;
    if(isset(
    $_POST['eintrag'])){

        
    //Variablen definieren und mit "POST" Daten füllen (Mit htmlspecialchars filtern..)
        
    $nick htmlspecialchars($_SESSION['nick']);
        
    $eintrag htmlspecialchars($_POST['eintrag']);
    //Die 2 oben definierten Variablen zusammensetzen
        
    $alles '<span style="color:#FF1493">'.$nick.'</span>: <span style="color:#3399FF">'.$eintrag.'</span>';

    //Nick + Eintrag in die Datenbank schreiben
        
    mysql_query("INSERT INTO $table 
                          message, channel VALUES
                           '
    $alles' '$channel'");
        

    }


    ?>
    Danke schon einmal


  • #2
    Moin, willkommen im Forum.

    mysql_query(); gibt false zurück, wenn die Datenbank einen Fehler meldet -> z.B. fehlerhafte Syntax der Abfrage.
    Du kannst die Funktion http://php.net/manual/de/function.mysql-error.php nutzen, um dir diesen Fehler zurückgeben zu lassen.

    Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
    Durch einen Wechsel auf mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections schützen.
    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar

    Lädt...
    X