Ergebnis 1 bis 5 von 5

Thema: Problem mit Query String und LIKE Contao Version 2.11.3 (2012-05-04)

  1. #1
    Contao-Fan Avatar von bcit6k
    Registriert seit
    01.02.2010.
    Ort
    Bürmoos
    Beiträge
    296

    Standard Problem mit Query String und LIKE Contao Version 2.11.3 (2012-05-04)

    Hallo,

    ich habe ein Problem bei der Datenbank Klasse im Zusammenhang mit LIKE entdeckt.

    Wenn ich mir selber einen Query bauer der ZB so aussieht

    SELECT feld01,feld02 FROM tabelle01 WHERE feld01 LIKE '%test%' or feld02 LIKE '%test%'


    dann funktioniert dieser, aber wenn ich nach ZB

    böh suche oder xx , dann scheint es so als würde die Funktion vsprintf das %xx% interpretieren und die Datenbank Klasse liefert in Zeile 717 einen Fehler ->Too few arguments to build the query string

    if (($this->strQuery = @vsprintf($this->strQuery, $arrParams)) == false)

    Mich hats gewundert denn wenn ich suchen möchte, ZB Suchfunktion dann möchte ich mir den Query selber bauen (wer weis wie viele felder es gibt) und da würde ich mein like auch selber zusammen bauen, und die % haben ja auch eine Bedeutung bei LIKE.

    Funktioniert hat es dann als ich die % aus dem LIKE weggelassen habe, was für mein SQL Verständnis eigentlich nicht das ist was ich möchte bzw. es eigentlich nicht das gleiche ist wie mit %

    Die Frage ist nun ob sich die Funktion vsprintf für die Validierung eignet wenn Sie bestimmte query Parameter frei interpretiert (wenn mans ich den Query selber zusammen baut)

    Danke

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von bcit6k
    Registriert seit
    01.02.2010.
    Ort
    Bürmoos
    Beiträge
    296

    Standard

    ah danke, wieder mal das problem zu blöd zum lesen

    eine frage hab ich noch, wenn ich mehrere likes habe, ist im execute dann ein array oder mit , separiert?

    danke

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    $this->Database->prepare("SELECT * FROM tl_xyz WHERE title LIKE ? OR LIKE ?")
                   ->
    execute'%'.$varKeyword1.'%''%'.$varKeyword2.'%' ); 
    So würde ich das bei z.B. 2 Parametern machen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Fan Avatar von bcit6k
    Registriert seit
    01.02.2010.
    Ort
    Bürmoos
    Beiträge
    296

    Standard

    danke

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •