php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.08.2004, 17:54  
Gast
 
Beiträge: n/a
Standard Warning: mysql_fetch_row(): supplied argument is not a ...

ich habe ein kleines problem mit einer funktion in meinem gästebuch. diese funktion soll dafür sorgen, dass ein besucher nur alle 3 minuten einen beitrag ins gästebuch setzen soll. dazu wird in einer MySQL-datenbank eine tabelle mit den spalten id, ip und timestamp angelegt.

ist die ip-adresse in der tabelle enthalten UND sind 180 sekunden noch nicht um, dann wird der besucher darauf aufmerksam gemacht, ansonsten wird ein eintrag in die tabelle gemacht (id, ip und timestamp).

hier der quelltext....

Code:
$sql = "SELECT id, ip, timestamp FROM gb_antiflood";
$ergebnis = mysql_query( $sql, $sql_connection );

while ( $zeile = mysql_fetch_row( $ergebnis ) )
{
    $timestamp = time();
    
    if ( ( $zeile[1] == $data[5] ) && ( $zeile[2] > ( $timestamp - 180 ) ) )
    {
        echo "<font color=\"#AAAA00\"><div align=\"center\"><u>WARNUNG:</u> Sie können erst 3 Minuten, nach Verfassung Ihres letzten Eintrages, wieder einen Beitrag abegeben!</div></font><hr>";
    }
    else
    {
        $sql = "INSERT INTO gb_antiflood
                  ( id, ip, timestamp )
                  VALUES ( 'NULL', '" . getenv ( "REMOTE_ADDR" ) . "', '$timestamp' )";
        $ergebnis = mysql_query( $sql, $sql_connection );
    }
}
das problem ist nun: der macht nix! der macht wirklich nix! es kommt noch nicht mal eine fehlermeldung. wenn ich aber aus der while-schleife eine do-while-schleife mache, dann spuckt er mir die folgende fehlermeldung aus....

Zitat:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\Programme\TSW\Apache2\htdocs\content\gbook.php on line 60
.... die auf diese zeile verweist

Code:
while ( $zeile = mysql_fetch_row( $ergebnis ) );
falls das an quellcode nicht reichen sollte, poste ich gerne noch mehr, allerdings ist der etwas unübersichtlich.



weiß da jemand einen rat?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.08.2004, 17:58  
Gast
 
Beiträge: n/a
Standard

http://www.php.net/mysql_error
 
Alt 11.08.2004, 18:48  
Gast
 
Beiträge: n/a
Standard

danke, aber das liefert nichts ilfreiches. es scheint kein fehler zu bestehen.

könnte es an dem vorherigen aufruf einer query liegen? hier der code:

Code:
$date = strftime( "%d.%m.%Y - %H:%M:%S" );
$sql = "INSERT INTO guestbook
          ( id, name, location, email, homepage, usertext, ip, date )
          VALUES ( 'NULL', '$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$date' )";
$ergebnis = mysql_query( $sql, $sql_connection );


EDIT: moment mal. kommt in PHP wie bei C++ nach der while ( ... )-anweisung eigentlich auch KEIN simikolon hin?
 
Alt 11.08.2004, 19:37  
Gast
 
Beiträge: n/a
Standard

nö, nur:

while (bhsbvh == bhfhg){

...

}
 
Alt 11.08.2004, 19:50  
Gast
 
Beiträge: n/a
Standard

Das hätte dich vermutlich weitergebracht:

PHP-Code:
$ergebnis mysql_query$sql$sql_connection ) or die ("MySQL-Error: " mysql_error()); 
Das Problem ist der Spaltenname timestamp, siehe: http://dev.mysql.com/doc/mysql/de/Reserved_words.html

Gruß
phpfan
 
Alt 12.08.2004, 02:19  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von p0ky
kommt in PHP [...] nach der while ( ... )-anweisung eigentlich auch KEIN simikolon hin?
Zitat:
Zitat von KiRiN
wobei es keinerlei fehlermeldung gibt, wenn man das semikolon setzt.
man teste dazu diesen codeschnipsel:

PHP-Code:
<?php

    $i 
0;

    while ( 
$i )
    {
        echo ++
$i '
'
;
    }

?>
im vergleich zu diesem
PHP-Code:
<?php

    $i 
0;

    while ( 
$i )
    {
        echo ++
$i '
'
;
    };

?>
es gibt keinerlei unterschiede.

grüße ben
imported_Ben ist offline  
Alt 12.08.2004, 07:52  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du kannst auch 7 Semikolons hinschreiben, das interessiert PHP überhaupt nicht.
Aber dein Problem, wahrscheinlich hast du es durch die Abfrage von mysql_error() unterdessen selber herausgefunden: Ich nehme an, id ist ein nummerisches Feld, wahrscheinlich mit AUTO INCREMENT. Und nun versuchst du den String 'NULL' dort hineinzuschreiben. Falls du einen Nullwert meinst, lass die Anführungszeichen weg. Oder noch besser, du lässt dieses Feld überhaupt weg, das bewirkt genau das gleiche:
PHP-Code:
...
$sql "INSERT INTO guestbook (name, location, email, homepage, usertext, ip, date )
          VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$date' )"

... 
__________________
Gruss
L
lazydog ist offline  
Alt 12.08.2004, 20:15  
Gast
 
Beiträge: n/a
Standard

argh! ich kapituliere! ich komme mir schrecklich doof vor, aber ich finde den fehler ums verrecken nicht, habe gestern den ganzen tag damit verbracht.

hätte jemand zeit und lust sich das mal anzuschauen? ok, über programmierstil lässt sich verhandeln, da könnte ich mehr kommentare machen und so, aber ich denke es ist verständlich. hier die php-datei(en) und die sql-tabelle:

http://dexter.innoxius.de/p0ky/gb_p0ky.zip

aus irgendeinem grund überspringt er zeile 25 bis 48 (die while-schleife) und ich drehe eher durch, als das ich verstehe oder rauskriege warum
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP -&gt; Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Warning: fread(): supplied argument is not a valid stream resource... pixelprinzessin PHP Tipps 2008 20 23.04.2008 15:44
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource Zabimaru PHP Tipps 2008 7 02.04.2008 13:25
Warning: fwrite(): supplied argument is not a valid stream Venom PHP Tipps 2007 27 15.12.2005 18:14
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Warning: mysql_num_fields(): supplied argument is not a... Datenbanken 18 09.06.2005 21:03
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
ShowIt_V1.8.14 PHP Tipps 2005 1 23.03.2005 19:13
frage zum arbeiten mit dateien PHP Tipps 2005 21 01.03.2005 13:22
Warning: Invalid argument supplied for foreach() in D:\XAMPP PHP Tipps 2005 11 02.02.2005 12:22
wieder einmal : Warning: mysql_num_rows(): supplied argument nieselfriem PHP Tipps 2004-2 8 29.11.2004 13:30
Warning: mysql_num_rows(): supplied argument is not a valid PHP Tipps 2004 2 06.09.2004 21:26
Counter zeigt nach ca. 2-3 Stunden fehler an PHP Tipps 2004 2 26.08.2004 20:08
Warning: mysql_num_rows(): supplied argument is not a valid PHP Tipps 2004 1 15.06.2004 15:54
Warning: mysql_fetch_object(): supplied argument is not a va Datenbanken 11 12.06.2004 16:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
warning: mysql_fetch_row(): supplied argument is not a valid mysql result resource, google mysql_fetch_row(): supplied argument is not a valid mysql result resource, warning: mysql_fetch_row() bei zweiter, php warning: mysql_fetch_row(): supplied argument is not a valid mysql result resource, warning: mysql_fetch_row():, mysql_fetch_row nullwert, warning mysql_fetch_row supplied argument is not a valid mysql result resource, \mysql_fetch_row(): supplied argument is not a valid mysql result resource in\

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.