Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_query problem

Einklappen

Neue Werbung 2019

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

  • mysql_query problem

    Seit Tagen und Nächten bin ich auf der Suche nach einer Lösung und wollte mich selbstständig erkundigen, aber die Sucherei hat mir nicht geholfen!

    Ich wollte auch keine anderen mit meinen Problemen nerven, aber nun bleibt mir keine andere Wahl.

    Ich bekomme beim öffnen der Seite die Fehlermeldung:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in **** on line 15

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in **** on line 17

    der Fehler liegt nicht an den Zeilen 15 und 17, sondern in der mysql_query

    man soll nicht Select * From benutzen, aber anders konnte ich das nicht umschreiben

    der Code lautet in etwa so:
    Code:
      $result   = mysql_query("
    			SELECT Feld1, Feld2, Feld3
    			FROM Tabelle1 
    			WHERE Feld3 = ".$sid." AND Feld2 = ".$ip.";");
    Ich finde keine Alternative und den Code ["SELECT COUNT(*) AS count FROM table WHERE url = '".$url."'"] verstehe ich irgendwie nicht.

    Tut mir Leid, ich bin eher PHP neuling, aber normalerweise lernt man ja auch aus seinen Fehlern.

    Ich bitte um Hilfe!

  • #2
    Nabend,

    Versuch mal die ganzen " und ' wegzulassen. Arbeite stattdessen so:
    PHP-Code:
    $result mysql_query("SELECT Feld1, Feld2, Feld3 FROM Tabelle1 WHERE Feld3 = {$sid} AND Feld2 = {$ip}"); 
    Ansonsten wären die Zeilen 15 und 17 auch interessant sowie der Connect.

    Kommentar


    • #3
      danke für die schnelle antwort, ich werds verbessern, sobald ich die möglichkeit hab.
      falls es nicht klappen sollte, poste ich auch die codes von den Zeilen 15 und 17.

      obwohl es soweit in meinem post steht, die codes sind einfach:
      mysql_fetch_assoc($result) und mysql_num_rows($result)

      und den code von $result hab ich ja oben gepostet

      Kommentar


      • #4
        Der Tipp ist nichzt so dolle, methanol. Das Problem liegt gerade darin begründet, dass Hochkommata vergessen wurden:

        PHP-Code:
        $result   mysql_query("
                    SELECT Feld1, Feld2, Feld3
                    FROM Tabelle1 
                    WHERE Feld3 = '"
        .$sid."' AND Feld2 = '".$ip."'"); 

        Kommentar


        • #5
          Zitat von nikosch Beitrag anzeigen
          Der Tipp ist nichzt so dolle, methanol. Das Problem liegt gerade darin begründet, dass Hochkommata vergessen wurden:

          PHP-Code:
          $result   mysql_query("
                      SELECT Feld1, Feld2, Feld3
                      FROM Tabelle1 
                      WHERE Feld3 = '"
          .$sid."' AND Feld2 = '".$ip."'"); 
          Sind Hochkommata ' , ´ oder ` ?

          im Original-Quelltext von mir sind die Felder und die Tabelle nämlich mit ' versehen, das ändert aber nichts.

          Kommentar


          • #6
            Alsoooo:

            Tabellennamen und Spaltennamen KÖNNEN in ` ` gesetzt werden, müssen aber nicht. Das wird erst dann nötig, wenn du ein reserviertes Wort dafür benutzt und das lässt sich auch von vornherein vermeiden.

            Werte, insbesondere Strings, setzt man in ' '

            Kommentar


            • #7
              Zitat von methanol Beitrag anzeigen
              PHP-Code:
              $result mysql_query("SELECT Feld1, Feld2, Feld3 FROM Tabelle1 WHERE Feld3 = {$sid} AND Feld2 = {$ip}"); 
              dieser code ging nicht, ich habs ausprobiert
              jedenfalls poste ich jetz die nötigen befehle, wo auch irgendwo der fehler ist:
              (Zeilen 8-13)
              Code:
                $sid      = session_id();
                $ip       = $_SERVER["REMOTE_ADDR"];
              
                $result   = mysql_query("
              			SELECT 'id', 'IP', 'SID' 
              			FROM 'tabelle1' 
              			WHERE 'SID' = {$sid} AND IP = {$ip}");
                $data     = mysql_fetch_array($result);
              
                if(mysql_num_rows($result) == 0)

              Kommentar


              • #8
                glaubst du mir nich oder was soll das?

                Kommentar


                • #9
                  im Original-Quelltext von mir sind die Felder und die Tabelle nämlich mit ' versehen, das ändert aber nichts.
                  1/ Dann hättest Du den posten sollen und nicht ein abgewandeltes Beispiel. Steht schon in den Forenrichtlinien
                  2/ Man kann die natürlich nicht pauschal ÜBERALL setzen, sondern
                  3/ Sollte auf den Rat aus dem Forum dann auch eingehen. Bzw. versuchen, die Antwort erst zu verstehen...

                  Kommentar


                  • #10
                    soweit hab ich ja das nötige für die Problemüberprüfung gepostet. tut mir leid, dass ichs nicht sofort in der form, wie der code zur Zeit ist, gepostet hab, aber mit meinem letzten post hiervor habe ich ja den code komplett gequotet.

                    bitte um hilfe

                    Kommentar


                    • #11
                      Cycap hat alles gesagt, was zu sagen ist.

                      Kommentar


                      • #12
                        was ist daran nicht zu verstehen?

                        PHP-Code:
                        $sid session_id();
                        $ip $_SERVER["REMOTE_ADDR"];

                        $sql "SELECT id, IP, SID FROM tabelle1 WHERE SID = '".$sid."' AND IP = '".$ip."'";
                        $query mysql_query($sql) OR die(mysql_error());
                        $data mysql_fetch_array($query);  

                        if(
                        mysql_num_rows($result) == 0

                        Kommentar


                        • #13
                          Hallo,

                          ich würde es etwas anders machen.

                          Hier mal mein vorschlag.

                          PHP-Code:
                          $sid session_id();
                          $ip $_SERVER["REMOTE_ADDR"];

                          $sql "SELECT id, IP, SID 
                                  FROM tabelle1 
                                  WHERE SID = '
                          {$sid}
                                  AND IP = '
                          {$ip}'";
                          $query mysql_query($sql) OR die(mysql_error());
                          $data mysql_fetch_array($query);  

                          if(
                          mysql_num_rows($result) == 0
                          Müsste doch genau so gehen.

                          Kommentar


                          • #14
                            $result ist garnicht definiert, daher funzen beide nicht, müsste man mit $query ersetzen

                            Kommentar


                            • #15
                              Ja dann mach es doch. Und geht es dann?

                              Kommentar

                              Lädt...
                              X