Where Abfrage

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

  • Where Abfrage

    Hallo

    ich habe in einer MySQL Abfrage in einen Script folgendes Entdeckt was ich nicht verstehe.
    Ich hoffe ihr könnt mir sagen woför es gut ist.

    PHP-Code:
    ...from admin where binary admin_name = ?"; 
    Also ich verstehe den Wert Binary und das "?" Zeichen nicht

    MfG
    GP

  • #2
    - normalerweise ist eine select-Abfrage in MySQL case-insensitive mit binary wird die Unterscheidung erzwungen.

    - was ? angeht ... ... zu wenig Infos um irgendwas vermuten zu können.

    Kommentar


    • #3
      Da ich nicht weiss ob es auch wirklich PHP ist, würde ich sagen des handelt sich um ein PreparedStatement von Java. Die ?-Stellen sind dabei Platzhalter die nach und nach in den folgenden Zeilen meist gefüllt werden.

      MfG Markus

      Kommentar


      • #4
        Original geschrieben von markusschmitt
        Da ich nicht weiss ob es auch wirklich PHP ist, würde ich sagen des handelt sich um ein PreparedStatement von Java. Die ?-Stellen sind dabei Platzhalter die nach und nach in den folgenden Zeilen meist gefüllt werden.

        MfG Markus
        es könnte sich aber auch um Parameter-Platzhalter von ADODB.Command z.B. in VB(.NET) sein, daher sagte ich: ... zuwenig Infos ....

        Kommentar


        • #5
          im Zusammenhang mit stored proceudres und .net hab ich (genau) diese query als beispiel auch schon gesehen.

          Daher würd ich in dem Fall sagen, 's ist ein platzhalter für 'ne stored procedure.

          Kommentar


          • #6
            ersteinmal Danke für eure Hilfe.

            Ich poste einfach mal etwas mehr Code für das "?" Zeichen:

            PHP-Code:
                if ($cfg['DB_TYPE'] === 'mysql') {
                    
            $query "select admin_id, admin_pass, admin_type, created_by, customer_id from admin where binary admin_name = ?";
                }
                
            $rs exec_query($sql$query, array($uname)); 
            PHP-Code:
            function exec_query(&$sql$query$data) {
              
            $stmt $sql->Prepare($query);
              
            $rs $sql->Execute($query$data);
              if (!
            $rssystem_message($sql->ErrorMsg());
              return 
            $rs;

            Ich hoffe das reicht als Information.

            MfG
            GP

            Kommentar


            • #7
              Original geschrieben von ankh
              im Zusammenhang mit stored proceudres und .net hab ich (genau) diese query als beispiel auch schon gesehen.

              Daher würd ich in dem Fall sagen, 's ist ein platzhalter für 'ne stored procedure.
              du weißt nicht ... so ganz, wovon su sprichst, nicht wahr? SP-Aufruf sieht ganz anders aus! meistens so:

              <sp_name> <para1> [,<para2>[,<..>]]

              und hat mit where... wenig zu tun, denn solche Sachen sind in SP drin

              Kommentar


              • #8
                Original geschrieben von G.P.


                Ich hoffe das reicht als Information.
                nicht ganz, da die Klasse, aus der das Objekt $sql abgeleitet ist, unbekannt ist, und somit auch die Methode .Prepare unbekannt ist. Aber man kann schon vermuten, dass die Methode .Prepare das Fragezeichen durch $data (also array($uname)) ersetzt wird.

                Kommentar


                • #9
                  Freunde der Sonne, $sql ist sicher von PEAR :: DB ...

                  Kommentar


                  • #10
                    trotzdem danke für eure Hilfe

                    asp2php hat recht. durch ausprobieren habe ich auch gemerkt das es durch $uname ersetzt wird.

                    MfG
                    GP

                    Kommentar

                    Lädt...
                    X