Nochmal: mysql_num_rows

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

  • Nochmal: mysql_num_rows

    Hi,

    ich ba da irgendwie ein Problem aus dem ich nicht schlau werde:
    Folgender Code wirft einen Fehler aus:
    PHP-Code:
    $sql "SELECT * FROM counter" ;
    $result mysql_query($sql).mysql_error ;
    $row mysql_num_rows($result) ; 
    Fehlermeldung: Warning: mysql_num_rows(): supplied argument is not a
    valid MySQL result resource in
    /srv/www/htdocs/web20/html/site/modules/global_admin.php on line 66

    echo SQL: SELECT * FROM counter
    Datenbank verbindung steht.

    In einem anderen Teil der Seite, verwende ich:
    PHP-Code:
    $sql "SELECT * FROM news";
    $result mysql_query($sql);
    $news mysql_num_rows($result); 
    An der Stelle funktioniert es.
    Ich habe es darauf hin mal mit umbenannten, also komplett
    anderen Variabeln versucht um einen Fehler durch doppelbelegung
    aus zu schließen ... gleicher Fehler.

    Die eigentliche SQL abfrage soll so aussehen:
    PHP-Code:
    $sql "SELECT * FROM counter WHERE ip = '".$ip."' AND sid = '".$sid."'"
    Gibt den selben Fehler.

    Letztendlich soll dieser Script laufen:
    PHP-Code:
    $sql "SELECT * FROM counter WHERE ip = '".$ip."' AND sid = '".$sid."'";
    $result mysql_query($sql).mysql_error ;
    if (
    mysql_num_rows($result) == 0) {
        
    // session und ip speichern

    Basierend auf diesem Datenbank Konstrukt:
    PHP-Code:
    CREATE TABLE `counter` (
      `
    ipvarchar(32NOT NULL default '',
      `
    sidvarchar(32NOT NULL default '',
      
    PRIMARY KEY  (`ip`)
    TYPE=MyISAM COMMENT='// count sessions'
    Kann mir da vielleicht jmd weiter helfen?
    Ich krieg hier noch die Krise!!!!!!!!!!!!!!!!!
    Design & Coding with a breeze of madness at xjonx

  • #2
    PHP-Code:
    $result mysql_query($sql).mysql_error 
    was ist daran wohl falsch?
    Freedom is a state of mind. Not a state in which we live.

    troxdev.ch | animefieber

    Kommentar


    • #3
      <?php
      require("connectdb.php");
      $sql = "SELECT * FROM counter" ;
      $result = mysql_query($sql);
      $row = mysql_num_rows($result) ;
      echo $row;//Nur ein Test obs geht

      ?>

      So funktionierts :P

      Kommentar


      • #4
        der mysql_error -----------
        fuck!!! Ich sollte pennen gehen!
        DANKE!!!

        Design & Coding with a breeze of madness at xjonx

        Kommentar


        • #5
          nee sorry... immer noch scheiße am start:

          PHP-Code:
          $sql "SELECT * FROM counter WHERE ip = '".$ip."' AND sid = '".$sid."'";
          $result mysql_query($sql) ;
          if (
          mysql_num_rows($result) == 0) {
              
          mysql_query("INSERT INTO counter (`ip`, `sid`) VALUES ('".$ip."', '".$sid."')") ;

          jetzt keinen Fehler mehr....
          Aber er tut das Insert nicht...

          Sinn und zweck: $ip wird mit der IP gefüttert .... $sid mit der SESSION_ID
          Und ich möchte quasi IP deren SID loggen...

          Also: Wenn die Abfrage nach beiden Parametern 0 ergibt,
          dann soll er sie eintragen....

          Geht so in richtung Counter
          Zuletzt geändert von xJonx; 31.12.2006, 19:53.
          Design & Coding with a breeze of madness at xjonx

          Kommentar


          • #6
            Will jetzt keinen Streit vom Zaun brechen doch stimmen die " und ' ?

            $sql = "SELECT * FROM counter WHERE ip = '".$ip."' AND sid = '".$sid."'";
            $result = mysql_query($sql) ;
            if (mysql_num_rows($result) == 0) {
            mysql_query("INSERT INTO counter (`ip`, `sid`) VALUES ('".$ip."', '".$sid."')") ;
            }

            Muss es nicht statt WHERE ip = '".$ip."'

            WHERE ip = "'.$ip.'" heißen ?

            und das bei jeder Variable ?

            Kommentar


            • #7
              das hängt davon ab, mit welchen du den query startest: " oder ' ...
              Ist ja quasi wie immer, wenn man einen String unterbrechen will,
              um eine VAR ein zu fügen:

              echo 'Das ist deine IP ('.$ip.') mit der du surfst' ;
              echo "Und ".$sid." ist deine Session" ;

              Davon ab, anscheinend liegt das Problem wohl an dem Insert.
              Wenn ich das INSERT in $sql packe und das ausgebe, siehsts
              richtig aus...
              Zuletzt geändert von xJonx; 31.12.2006, 20:25.
              Design & Coding with a breeze of madness at xjonx

              Kommentar


              • #8
                Am besten, du lässt dir mal einen evt. Fehler zurückgeben. Versuch mal folgendes:

                PHP-Code:
                $sql "SELECT * FROM counter WHERE ip = '".$ip."' AND sid = '".$sid."'";
                $result mysql_query($sql) ;
                echo 
                mysql_error().'<br />';
                if (
                mysql_num_rows($result) == 0) {
                    
                mysql_query("INSERT INTO counter (`ip`, `sid`) VALUES ('".$ip."', '".$sid."')") ;
                  echo 
                mysql_error();

                Kommentar


                • #9
                  also, nun ja: ich weiß ja nicht.
                  ich hab einfach mal die tabelle neu angelegt,
                  und jetzt geht es mit diesem script.
                  Ich hab ihn noch nen bissle erweitert:
                  PHP-Code:
                  $result mysql_query("SELECT * FROM counter WHERE sid = '$sid' AND ip = '$ip';");
                      if (
                  mysql_num_rows($result) == 0) {
                          
                  mysql_query("INSERT INTO counter (`id`,`sid`,`ip`,`useragent`,`referer`) VALUES ('','$sid','$ip','$useragent','$referer');") ;
                      } 
                  Design & Coding with a breeze of madness at xjonx

                  Kommentar


                  • #10
                    Außer im Query selbst, verwendest du nirgendwo mysql_error(). Gewöhn dir das mal an und vermeide solche Threads.

                    s. Regeln.

                    Kommentar


                    • #11
                      verwende ich eigentlich - nur ab fertigstellung kommt das bei mir raus.
                      Design & Coding with a breeze of madness at xjonx

                      Kommentar

                      Lädt...
                      X