Fehler in Shoutbox

Sebastian Wramba

Erfahrenes Mitglied
Ich hab folgenden Fehler.
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\gouraud3\shoutbox.php on line 110

Liegt das daran, dass nix in der Datenbank ist?

Das gesamte Script sieht so aus:
PHP:
<?PHP

//////////////// SHOUTBOX BY -|gouraud
/////////////// (c) 2002 by -|gouraud
////////////// E-Mail: gouraud@web.de
///////////// Web: http://www.g-o-stylez.de


// MYSQL-EINSTELLUNGEN

$sqlhost  = 'localhost';
$username = 'gouraud';
$passwort = 'bla';
$database = 'gouraud';


//  ADMINISTRATIVE EINSTELLUNGEN

$pass     = 'test';
$smilies  = '0/1'; // Smilies ja (1) oder nein (0)
$proseite = '10'; // ANZAHL DER EINTRÄGE PRO SEITE
$sitename = 'shoutbox.php'; // DATEI-NAME



// Todo:
//   - Smilie-Umwandler
//   - Zeilenumbruch


///// Zum installieren folgendes ausführen: ///////
// CREATE TABLE shout (
//   id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
//   name VARCHAR(100),
//   date TEXT,
//   time TEXT,
//   nachricht TEXT
// )




// AB HIER NICHTS MERH ÄNDERN!!!

$db = mysql_connect ($sqlhost,$username,$passwort);
mysql_select_db ($database);
$sql = "SELECT * FROM shout";
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
$seiten=floor($number/$proseite);
$start=$page * $proseite;
$sql="SELECT * FROM table LIMIT $start,$proseite";
$result = mysql_query($sql);



if($insert) {
$date = date("d.m.Y");
$time = date("H:i");
mysql_query("INSERT INTO shout (name,message,date,time) VALUES ('$name','$message','$date','$time')");
}

if($update) {
mysql_query("UPDATE shout SET message='$message' WHERE id='$id'");
}

if(isset($admin)) {
  if(isset($formpass) && $formpass == $pass) {

       while ($row = mysql_fetch_row($result)) {
?>
<form action="<? echo "$sitename"; ?>?admin=1">
<?
echo "<input type=\"hidden\" name=\"id\" value=\"".$row['id']."\">";
echo "<input type=\"text\" name=\"name\" value=\"".$row['name']."\" <BR>";
echo "<input type=\"textarea\" name=\"nachricht\" rows=\"20\" cols=\"20\" value=\"".$row['message']."<br><small>edited by admin</small>\" <BR>";
echo "<input type=\"submit\" name=\"update\" value=\"updaten\">";
echo "</form>";

                                               } // while-Schleife
                                            } // formpass-schleife
         else {
?>
<b>Bitte Passwort für Adminbereich eingeben:</b>
<form action="<? echo "$sitename"; ?>?admin=1">
<input type="password" name="formpass">
<input type="submit" name="login" value="weiter">
</form>
<?
             } // else-formpass-schleife
} // admin-schleife
else {

$ende = $start + $proseite;
if ($ende>$number) { $ende = $number; }

echo "Page $page <BR>";
?>
<form action="<? $PHP_SELF ?>">
<table BORDER="0" CELLSPACING="0" cellpadding="10" width="115">
<tr>
<td width="114"><font size="1" face="Verdana">
<input NAME="name" SIZE="17" maxlength="15" value="name" onblur="if (value == '') {value='name'}" onfocus="if (value == 'name') {value =''}"><br>
<input NAME="message" SIZE="17" maxlength="100" value="nachricht" onblur="if (value == '') {value='message'}" onfocus="if (value == 'message') {value =''}"><br>
<input TYPE="SUBMIT" name="insert" VALUE="shout" class="button">
</form>
<br>

<?
while ($row = mysql_fetch_row($result)) {
echo "<font color=\"#96CC29\">".$row['name']."</font></b><br>";
echo "| ".$row['date']." - ".$row['time']." |<br>";
echo "| ".$row['ip']." |<br>";
echo "<font color=\"#96CC29\"><span style=\"word-break:break-all;word-wrap:break-word\">".$row['message']."</span></font>";
echo "<p></p>";
} // while schleife
?>
<!--LOOPEND--></td>
</tr>
</table>
<?
for($i=0; $i<=$seiten; $i++) {
        if ($i==$page) {
                echo $i."&nbsp;";
        } // if-for-seiten-schleife
        else {
                echo "<A HREF=\"$PHP_SELF?page=$i\">$i</A>&nbsp;";
        } // else-for-seiten-schleife
} // else-admin-schleife
} // for-schleife
?>

thx 4 help
 
tjo hab leider grad kein bock auf 110 zu zählen, mach doch die zeile mal deutlich plz

ausserdem solltest du des hier noch ändern:

PHP:
$smilies  = '0/1'; // Smilies ja (1) oder nein (0)

weil entweder 0 oder 1... is klar :p
 
PHP:
while ($row = mysql_fetch_row($result)) {
echo "<font color=\"#96CC29\">".$row['name']."</font></b><br>";
echo "| ".$row['date']." - ".$row['time']." |<br>";
echo "| ".$row['ip']." |<br>";
echo "<font color=\"#96CC29\"><span style=\"word-break:break-all;word-wrap:break-word\">".$row['message']."</span></font>";
echo "<p></p>";
} // while schleife

Dein Script kann mit der Variable $result nichts anfangen. Schau mal ob das was ausgibt und ob sie definiert ist.
 
Hehe. Shit. Mir fällt grad auf, dass da "FROM table" steht. Die gibt's gar nicht... :)

Und nu hab ich noch folgenden Bug:
Der fügt nix ein. Sind die Zeilne hier richtig?

PHP:
if($insert) {
$date = date("d.m.Y");
$time = date("H:i");
mysql_query("INSERT INTO shout (name,message,date,time) VALUES ('$name','$message','$date','$time')");
}
 
Zuletzt bearbeitet:
Vielleicht täusche ich mich ja auch, aber in der 'CREATE TABLE'-Anweisung definierst du ein Feld 'nachrichten' und in der 'INSERT'-Anweisúng taucht das Feld 'message' auf - irgendwie nicht gleich. ;)

Aber wirst du wahrscheinlich schon gesehen haben, oder?

Gruß
 
Zurück