Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbanksuche mit & Teichen

Einklappen

Neue Werbung 2019

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

  • Datenbanksuche mit & Teichen

    habe ein kleines Problemchen. In meiner Datenbank kommen Namen wie Müller & Schneider vor. Leider werden beim suchen diese Ergebnisse nicht mit ausgeworfen.
    Es geht also scheinbar um das & Zeichen.
    wie und wo kann man das ändern oder aus / einschalten?

    wäre für eure Hilfe dankbar.

  • #2
    Wie sieht den deine Abfrage aus?

    Kommentar


    • #3
      ja da kommt leider nichts....also blanko

      Kommentar


      • #4
        Zitat von strawinski Beitrag anzeigen
        ja da kommt leider nichts....also blanko
        Mit einer blanko-Abfrage wirst auch kein Resultat bekommen.

        Code:
        test=*# create table foo (name text);
        CREATE TABLE
        Time: 87,753 ms
        test=*# insert into foo values('Müller & Schneider');
        INSERT 0 1
        Time: 0,347 ms
        test=*# select * from foo;
                name
        --------------------
         Müller & Schneider
        (1 row)
        
        Time: 0,196 ms
        test=*# select * from foo
        test-# ;
                name
        --------------------
         Müller & Schneider
        (1 row)
        
        Time: 0,165 ms
        test=*# select * from foo where name = 'Müller & Schneider';
                name
        --------------------
         Müller & Schneider
        (1 row)
        Wo ist Dein Problem?


        Andreas

        Kommentar


        • #5
          Ist schon klar, dass nichts kommt. Ich wollte wissen wie dein SQL Code aussieht...

          Kommentar


          • #6
            Datenbanksuche mit & Teichen
            Leute, gebt Euch doch mal Mühe. Es gibt hier ne Edit-Funktion.

            Kommentar


            • #7
              Morjen.....leider kam ich nicht merh dazu gestern....

              Da ja immer Select drin stehen muß, habe ich mal die Codezeile kopiert..
              Sollte es nicht reichen mußss ich wohl den kompletten Code zu Euch schicken.

              PHP-Code:
              $query=database::getDatabase()->query("SELECT ".$settings['fields']." FROM ".$this->table." ".$where." ".$order." ".$limit.""); 

              Kommentar


              • #8
                Zitat von strawinski Beitrag anzeigen
                Morjen.....leider kam ich nicht merh dazu gestern....

                Da ja immer Select drin stehen muß, habe ich mal die Codezeile kopiert..
                Sollte es nicht reichen mußss ich wohl den kompletten Code zu Euch schicken.

                PHP-Code:
                $query=database::getDatabase()->query("SELECT ".$settings['fields']." FROM ".$this->table." ".$where." ".$order." ".$limit.""); 
                Das hilft nicht weiter, da keiner wissen kann, was nach der Variablenersetzung rauskommt.

                Andreas

                Kommentar


                • #9
                  okay, dann mal hier den gesamten Code...

                  .
                  PHP-Code:
                  // CREATE DB CLASS

                  class database 
                  {
                   protected 
                  $table;
                   private static 
                  $singleton = array();
                    
                   public static function 
                  getDatabase() {
                     if(!isset(
                  self::$singleton['Database'])) {
                          
                  self::$singleton['Database'] =  new PDO('mysql:host=localhost;dbname=usr_web547_2;',"web547",'111111',
                       array( 
                                   
                  PDO::ATTR_PERSISTENT => true
                                   
                  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ,
                                   
                  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
                               
                  ) );
                     }

                     return 
                  self::$singleton['Database'];
                   }
                   
                   public function 
                  setTable($table){
                       
                  $this->table=$table;
                   }
                   
                   public function 
                  get($settings=array()){
                       
                       if(!isset(
                  $settings['fields'])) $settings['fields']="*";
                       
                       if(!isset(
                  $settings['where'])) $where="";
                       else 
                  $where="WHERE ".$settings['where'];
                       
                       if(!isset(
                  $settings['order'])) $order="";
                       else 
                  $order="ORDER BY ".$settings['order'];
                       
                       if(!isset(
                  $settings['start'])) $settings['start']="0";
                       if(!isset(
                  $settings['limit'])) $settings['limit']=false;
                       
                       if(
                  $settings['limit']!=false){ 
                           
                  $limit="LIMIT ".$settings['start'].", ".$settings['start'];
                       }else 
                  $limit="";
                       
                       if(!isset(
                  $settings['multiple'])) $settings['multiple']="1";
                       
                       
                  $query=database::getDatabase()->query("SELECT ".$settings['fields']." FROM ".$this->table." ".$where." ".$order." ".$limit."");
                       
                       if(
                  $settings['multiple']==1$data=$query->fetchAll();
                       else 
                  $data=$query->fetch();

                      return 
                  $data;
                   }
                   
                   public function 
                  insert($data){
                       if (!
                  is_array($data) || !count($data)) return false;
                       
                       foreach(
                  $data as $k => $v){
                         
                  $data[$this->table.'_'.$k] = $v;
                         unset(
                  $data[$k]);
                      }
                       
                       
                  $bind ':'.implode(',:'array_keys($data));
                       
                  $query=database::getDatabase()->prepare('insert into '.$this->table.'('.implode(','array_keys($data)).') ''values ('.$bind.')');
                       
                  $query->execute(array_combine(explode(',',$bind), array_values($data)));
                       return 
                  true;
                   }
                   
                   public function 
                  delete($id){
                       
                  $query=database::getDatabase()->prepare('DELETE FROM '.$this->table.' WHERE '.$this->table.'_id=:id');
                       
                  $query->execute(array(":id"=>$id));
                   }
                   
                   public function 
                  update($data,$where){
                       if (!
                  is_array($data) || !count($data)) return false;
                       
                       foreach(
                  $data as $k => $v){
                         
                  $data[$this->table.'_'.$k] = $v;
                         unset(
                  $data[$k]);
                       }
                       
                       
                  $keylist="";
                       foreach(
                  $data as $k=>$v){
                           
                  $keylist.= $k."=:".$k.",";
                       }
                       
                  $keylist=substr($keylist,0,strlen($keylist)-1);
                       
                       
                  $bind ':'.implode(',:'array_keys($data));
                       
                  $query=database::getDatabase()->prepare('update '.$this->table.' SET '.$keylist.' WHERE '.$where);
                       
                  $query->execute(array_combine(explode(',',$bind), array_values($data)));
                       return 
                  true;
                   }
                   
                   public function 
                  countRows(){
                   }
                   
                   public function 
                  insertID(){
                       return 
                  database::getDatabase()->lastInsertId();
                   }

                  Kommentar


                  • #10
                    Zitat von strawinski Beitrag anzeigen
                    okay, dann mal hier den gesamten Code...
                    Auch das hilft nicht. Erzeuge einen String (in einer Variablen), der das SQL enthält. Diesen String kannst Du dann an die DB schicken, und zum Debugging vorher auch ausgeben. Dieser enthält dann exakt das SQL, was an den Server geht.

                    Kommentar


                    • #11
                      entschuldige....das hab ich jetzt nicht verstanden....ich habe gerade mal nur mit dem & Zeichen einen Datensatz angelegt. Auch da zeigt er nichts.

                      Wie soll ich den String anlegen und wie soll ich debuggen.
                      (Bin leider kein Profi auf dem Gebiet, tut mir leid)

                      Kommentar


                      • #12
                        Zitat von strawinski Beitrag anzeigen
                        entschuldige....das hab ich jetzt nicht verstanden....ich habe gerade mal nur mit dem & Zeichen einen Datensatz angelegt. Auch da zeigt er nichts.

                        Wie soll ich den String anlegen und wie soll ich debuggen.
                        (Bin leider kein Profi auf dem Gebiet, tut mir leid)
                        Jetzt nicht Dein Ernst, oder?

                        echo "SELECT ".$settings['fields']." FROM ".$this->table." ".$where." ".$order." ".$limit."";

                        Das baust ein, unmittelbar vor der DB-Abfrage. Im Browser kommt dann das SQL.



                        Andreas

                        Kommentar


                        • #13
                          also wenn es das hier ist......

                          http://www.rasiermesserdatenbank.de/index2.php?module=list&option=company&value=echo%2 0"SELECT%20".$settings['fields']."%20FROM%20".$this->table."%20".$where."%20".$ order."%20".$limit."";%20Grah% 20&%20Pl%C3%BCmacher

                          Kommentar


                          • #14
                            bau mal bitte den Befehl von akretschmer ein! mit deinen Url-Parametern hab ich zwar schon einen Verdacht ... aber mit der Ausgabe des SQL-Strings solltest du auch selbst sehen, wo es klemmt ...

                            Kommentar


                            • #15
                              meinst du das hier?

                              http://www.rasiermesserdatenbank.de/index2.php?module=list&option=company&value=echo%2 0"SELECT%20".$settings['fields']."%20FROM%20".$this->table."%20".$where."%20".$ order."%20".$limit."";%20http://www.rasiermesserdatenbank.de

                              Kommentar

                              Lädt...
                              X