Ankündigung

Einklappen
Keine Ankündigung bisher.

mit id aus selectbox in db suchen

Einklappen

Neue Werbung 2019

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

  • mit id aus selectbox in db suchen

    Hallo,

    PHP-Code:
      if ($search_value != '') {
        
    $where .= " AND ID_A='$search_value'";
      } 
    $search_value is die jeweilige id aus einer <select>box mit der in der db gesucht wird.

    die abfrage wird korrekt ausgeführt, wenn es in der db datensätze mit der vorgegebenen id gibt. wird eine id gewählt, die in der db nich vorkommt, erhalte ich den fehler, das in der o.g. zeile ein fehler wäre. verstehe ich nich ...


  • #2
    Hi,

    Mit dem bisl Code können wir dir wohl schlecht helfen.
    Fehlermeldung wäre ja auch nicht schlecht.

    Kommentar


    • #3
      Die Fehlermeldung wäre interessant. Hast du dir mal die Datenbankfrage ausgeben lassen?
      http://hallophp.de

      Kommentar


      • #4
        Im übrigen ist bei dir SQL Injection möglich wenn du $search_value nicht richtig überprüfst bzw. escapest.

        Kommentar


        • #5
          Code:
          Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '-3, 3' in Zeile 1
          das is die fehlermeldung (sorry). aber was is an der sql-syntax falsch??

          PHP-Code:
            $select "SELECT IRGENDWAS";

            
          $from   " FROM tbl_B";

            
          $where  " WHERE ID_010='$value_a'";

            
          $where .= " AND ID_020='$value_b'";

            if (
          $search_value != '') {
              
          $where .= " AND ID_030='$search_value'";
            }

            
          $where .= " ORDER BY ID_040 $vartmp1, ID_050 $vartmp1"

            
          $result query($select $from $where); 

          Kommentar


          • #6
            Debugging:SQL - PHP.de Wiki
            http://hallophp.de

            Kommentar


            • #7
              ich lass mir die query-fehler immer mit
              PHP-Code:
                function query($sql) {
                  
              $res mysql_query($sql);
                  if(!
              $res) {
                    exit(
              ''.mysql_error($connection).'');
                  }
                  return 
              $res;
                } 
              auswerfen, aber hier wird mir lediglich gesagt, das die sql-syntax nicht korrekt wär.

              der fehler tritt halt hier auf:
              1.
              PHP-Code:
                if ($search_value != '') {
                  
              $where .= " AND ID_A='$search_value'";
                } 
              immer wenn $search_value einen wert hat, der nicht in der db vorkommt, kommt es zu dem fehler. ist der gesuchte auch in der db vorhanden, funktioniert alles einwandfrei


              2.
              setze ich für $search_value per hand einen wert, der z.b. nicht in den datensätzen vorhanden ist, funktioniert zumindest die query, das ergebnis ist dann halt falsch ...

              PHP-Code:
                if ($search_value != '') {
                  
              $where .= " AND ID_A=503";
                } 

              Kommentar


              • #8
                Deshalb wäre es sinnvoll, sich mal den Wert von $search_value oder gleich die ganze Abfrage ausgeben zu lassen. Ein Wert, der nicht in der Datenbank vorkommt, kann nicht Auslöser für eine Fehlermeldung sein, wenn die Abfrage immer noch syntaktisch korrekt ist.

                Btw. Codeoptimierung:Code-Smells - PHP.de Wiki

                Gruß
                http://hallophp.de

                Kommentar

                Lädt...
                X