Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Re: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resou

Arbeitest du mit Hilfsmitteln, die dir bei der Fehlerdiagnose helfen? Denn ein „wieder keine Änderung“ beschreibt einen Fehler nicht gerade präzise.
 
Re: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resou

Wie soll ich denn "keine Änderung" beschreiben wenn nichs passiert...

Hier nochmal mein Code. Falls da noch irgendetwas richtig dran ist.

PHP:
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>mjb's page: Shoutbox</title>
 
<?
$name = $_POST["name"];
$schrei = $_POST["schrei"];
$name = str_replace ("\n"," ", $name);
$name = str_replace ("<", " ", $name);
$name = str_replace (">", " ", $name);
$name = stripslashes ($name);
?>
<?php

    $db = mysql_connect('localhost', 'user', 'passwort')
        or die('Verbindung zum Datenbankserver schlug fehl!');
    mysql_select_db('usr2', $db)
        or die('Auswahl der Datenbank schlug fehl!');


    if( isset($_POST['submit']) ) {
	$query = 'INSERT INTO `shoutbox` (`time`, `name`, `schrei`) VALUES ("'.time().'", "'.mysql_real_escape_string(strip_tags($_POST['name'])).'", ("'.mysql_real_escape_string($_POST['schrei']).'");';
        
        mysql_query($query)
            or die('Datenbankabfrage schlug fehl!');
    }

    $query = '
        SELECT
                `time`,
                `name`,
                `schrei`
          FROM
                `shoutbox`
          ORDER BY
                `time` ASC
          LIMIT
                0, 30
        ';
    $result = mysql_query($query)
        or die('Datenbankabfrage schlug fehl!');

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Shoutbox</title>
</head>

<body>
    <form name="shoutbox" action="shoutbox.php" method="post">
        <p>Name:&nbsp;
            <input type="text" name="name" class="textfeld" size="15" maxlength="20" value="<? echo htmlspecialchars(strip_tags($_POST['name'])); ?>" /></p>
        <p>Schrei:&nbsp;
            <input type="text" name="schrei" class="textfeld" size="50" maxlength="255" /></p>
        <p><input type="submit" value="Schrei!" class="button" /></p>
    </form>
    <table width="100%" border="0" cellspacing="1" cellpadding="1">
<?php
    while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
        echo '<tr><td><p><i>'.$row['name'].'</i>&nbsp;schrie am '.$row['time'].':</p><p>'.$row['schrei'].'</p></td></tr>';
    }
?>
    </table>
</body>
</html>
 
Zuletzt bearbeitet:
Versuchs doch mal so:
PHP:
$query = "INSERT INTO `shoutbox` (`time`, `name`, `schrei`) ".
              "VALUES ('".time()."', '".mysql_real_escape_string(strip_tags($_POST['name']))."', '".mysql_real_escape_string($_POST['schrei'])."')";
Du hattest ne Klammer zu viel und das mit den Anführungszeichen war auch n bischen komisch..!
 
Dann kann ich dir echt nur noch vorschlagen, deine Tabellen und Spaltennamen auf Tippfehler etc. zu prüfen... :(

EDIT:
So, ich glaube ich habe deinen Fehler gefunden!!
Nämlich bei
PHP:
if( isset($_POST['submit']) ) { ... }
möchtest du wohl prüfen ob der Button "submit" gedrückt wurde, allerdings hast du keinen Button mit dem Namen "submit", sondern nur vom Typ! Gib deinem Button also einfach einen Namen, dann sollte alles funktionieren!
Also so:
HTML:
<p><input type="submit" name="submit" value="Schrei!" class="button" /></p>
Vielleicht solltest du dich trotzdem noch mit Gumbos Tipp auseinandersetzen, und dir die INSERT INTO-Syntax etwas anschauen. Da kannst du dir sicher noch etwas abschauen um beim nächsten Mal ein MySQL-Problem ausschließen zu können.

MfG
TwoFaze
 
Zuletzt bearbeitet von einem Moderator:
Re: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resou

Au mann.. wie war das? Vor lauter Bäumen den Wald nicht mehr sehen? Schlimm, schlimm...

Jedenfalls danke ich euch beiden für Geduld und Müh :up

Danke!
 

Neue Beiträge

Zurück