Ergebnis 1 bis 10 von 10

Thema: Tagescounter

  1. #1
    Johann Krüger
    Gast

    Standard Tagescounter

    Eben erstellte ich einen Tagescounter. Nun stimmt an meinem Script etwas nicht, denn es kommt immer eine Fehlermeldung:
    Code:
    <?php
        $db=mysql_pconnect&#40;"localhost","web1","xxx"&#41;;
        mysql_select_db&#40;"usr_web1_4",$db&#41;;
        
        $ip = $_SERVER&#91;'REMOTE_ADDR'&#93;;
        $zeit = time&#40;&#41;;
        
        $ablauf=$zeit-300; 
        mysql_query&#40;"DELETE FROM counter_ip WHERE zeit<$ablauf"&#41;;
    
        
        $res=mysql_query&#40;"SELECT ip FROM counter_ip WHERE ip = '$ip'"&#41;;
        if&#40;!mysql_fetch_row&#40;$res&#41;&#41;
        &#123;
            
            mysql_query&#40;"INSERT INTO counter_ip &#40;ip,zeit&#41; VALUES &#40;'$ip'&#41;;"&#41;;
        
            mysql_query&#40;"UPDATE counter_stats SET besucher=besucher+1 WHERE datum=NOW&#40;&#41;;"&#41;;
            if&#40;mysql_affected_rows&#40;&#41;==0&#41;
                mysql_query&#40;"INSERT INTO counter_stats &#40;datum,besucher&#41; VALUES &#40;NOW&#40;&#41;,'1'&#41;;"&#41;;
        &#125;
        
        mysql_query&#40;"UPDATE counter_stats SET hitz=hitz+1 WHERE datum=NOW&#40;&#41;;"&#41;;
        
        $res=mysql_query&#40;"SELECT besucher,hitz FROM counter_stats WHERE datum = NOW&#40;&#41;;"&#41;;
        list&#40;$besucher_heute, $hitz_heute&#41;=mysql_fetch_row&#40;$res&#41;;
        $res=mysql_query&#40;"SELECT sum&#40;besucher&#41;,sum&#40;hitz&#41; FROM counter_stats WHERE 1"&#41;;
        list&#40;$besucher_gesamt, $hitz_gesamt&#41;=mysql_fetch_row&#40;$res&#41;;
        
        mysql_close&#40;$db&#41;;
        
        echo "Besucher Heute&#58; $besucher_heute
    Besucher Gesamt&#58; $besucher_gesamt
    Hitz Heute&#58;     $hitz_heute
    Hitz Gesamt&#58; $hitz_gesamt";
    ?>
    Als Fehlercode kommt:
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web113/html/yugioh/news/counter.php on line 26

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web113/html/yugioh/news/counter.php on line 28

    Wobei sich das auf folgendes bezieht:

    $res=mysql_query("SELECT besucher,hitz FROM counter_stats WHERE datum = NOW();");
    list($besucher_heute, $hitz_heute)=mysql_fetch_row($res);
    $res=mysql_query("SELECT sum(besucher),sum(hitz) FROM counter_stats WHERE 1");
    list($besucher_gesamt, $hitz_gesamt)=mysql_fetch_row($res);

    [/code]
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    $res=mysql_query&#40;"SELECT besucher,hitz FROM counter_stats WHERE datum = NOW&#40;&#41;;"&#41;;
    Das ; hinter NOW() ist zuviel.

    Gruß,
    Jojo

  3. #3
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Versuch bei deinen SQLs immer diese Struktur zu machen:
    Code:
    $ressourceID = mysql_query&#40;'Dein SQL'&#41; OR die&#40;mysql_error&#40;&#41;&#41;;
    Das ; hinter NOW() ist zuviel.
    nein ein SQL endet standartmäßig mit einem ;
    Something big is coming. And there will be pirates and ninjas and unicorns...

  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard

    ja aber da kommt doch dann nur hinter die letzte klammer oder nich?
    ich mein ich kenn sowas in der art ja von java- also jsp und servlets....
    da wäre das semikolon hinter dem now auch falsch.
    nur bei ner richtigen hochsprache würd halt der compiler meckern...
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    1. ; = Ende eines SQLs
    ) = mysql_query()
    2. ; = ende des query-Befehls

    Das paast schon, mach ich auch immer so.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Das ; ist definitiv zu viel.
    PHP parst das als Ende des mysql_query() Befehls, und damit ist essig. schon hast nen ungültigen query und dann gibts den oben genannten Fehler.

  7. #7
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    der ; is PHP egal, weil er in nem String steht
    Der wird dann von den SQL-Befehlen weiterverarbeitet

    Bei mir macht der ; nie Probleme und ich hab ein ganzes MMORPG damit programmiert
    Something big is coming. And there will be pirates and ninjas and unicorns...

  8. #8
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mehr dazu

    Ich vermute hier ein Versions-"Problem", bin aber zu faul, das jetzt genauer zu recherchieren.
    Mit sehr hoher wahrscheinlichkeit ist hier die gpc-Direktive der "Übeltäter".

    Also: Nimm das Semikolon raus, und es wird klappen.
    Noch ein genereller Tipp: Schreibe deine Querys vor dem Ausführen in eine Variable und rücke den String ein. Das Fehlersuchen wird dadurch schwer erleichtert

    Gruß,
    Jojo

  9. #9
    Gast

    Standard

    o.o
    Tut mir leid - doch nun komme ich gar nicht mehr draus. jojo, wärst du so freundlich, und postest mir das richtige Script? Ich habe bei der Diskussion den Überblick verloren. Vielen Dank, schon im Voraus!

  10. #10
    König(in) Avatar von d4f
    Registriert seit
    22.04.2007
    Ort
    Luxemburg
    Beiträge
    1.493
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    @Gast:

    Versuch bei deinen SQLs immer diese Struktur zu machen:
    Code:
    $ressourceID = mysql_query&#40;'Dein SQL'&#41; OR die&#40;mysql_error&#40;&#41;&#41;;
    Dann poste den Fehler

    Kanns evtl sein dass eine Tabelle, ein Feld oder der Eintrag nicht existiert?
    Wir sind alle ein BOFH:

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •