2016-10-31 2 views
-1

Ich habe eine Frage, die Werte aus meinem DB auswählen soll. Ich habe eine where-Klausel wie folgt aus:Where-Klausel mit Punkten Erweiterung in Mysql

$query = 'SELECT * FROM liquid 
      WHERE Id = '.$id.' 
      AND (
        picone = tiger-1477927129.jpg OR 
        pictwo = tiger-1477927129.jpg 
        OR picthree = tiger-1477927129.jpg 
        ' . 'picfour = tiger-1477927129.jpg 
        OR picfive = tiger-1477927129.jpg 
        OR picsix = tiger-1477927129.jpg 
     )'; 

Das Problem ist, ich Punkte vor der Dateierweiterung haben, so SQL dies nicht ausführen. Weißt du wie ich das lösen könnte?

Dank Lee

+1

Sieht schrecklich entkommen müssen. Ist Ihnen bewusst, dass MySQL (einfache) Anführungszeichen um String-Konstanten benötigt? –

+1

Sie müssen grundlegende SQL-Syntax lernen ... Und wenn Sie denken, dass die Punkte ein Problem sind, stellen Sie sich vor, was diese '-' verursachen ... –

Antwort

2

Verwenden Anführungszeichen um die Werte d image='image.jpg' und Sie werden die Angebote für die Zeichenfolge in PHP

$query = 'SELECT * FROM liquid WHERE 
    Id = '.$id.' 
    AND (
     picone = \'tiger-1477927129.jpg\' 
     OR pictwo = \'tiger-1477927129.jpg\' 
     OR picthree = \'tiger-1477927129.jpg\' 
     OR picfour = \'tiger-1477927129.jpg\' 
     OR picfive = \'tiger-1477927129.jpg\' 
     OR picsix = \'tiger-1477927129.jpg\' 
    ) 
'; 
+1

Konnte in Anführungszeichen kapseln, dann können die Verkettung und das Escaping entfernt werden. – chris85

+0

danke euch allen. :) –