2017-01-19 4 views
0

Bitte HilfeSyntaxfehler, wenn mehrere Bedingungen entsprechen

i

immer bin

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax

beim Versuch, die Abfrage unten zu laufen, ich weiß, die Abfrage ein Infekt paar Syntaxfehler haben, die ich weiß nicht, wie

$myQuery = mysql_query("SELECT key 
         from DE_user_stats 
         WHERE article_id = 671 
         AND domain = 2nd.com/ 
         AND userid = 2") 
       or die($myQuery."<br/><br/>".mysql_error()); 

Die Tabelle sieht wie folgt zu lösen:

Schlüssel - ein rticle_id - Domain - Benutzer-ID 13 671 2nd.com/ 2

Die Ausgabe sollte 13

Dank seine

(ich verwende nicht mysql und niemand sollte es nur für ein Experiment, bitte hasse mich nicht)

+2

nicht numerischer Wert angegeben werden. – C2486

+0

Die Fehlermeldung geht nicht, um zu versuchen und anzuzeigen __Woher der Fehler ist___ Haben Sie sich das Bit ???? – RiggsFolly

+0

Bei jeder Verwendung von [mysql_'] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) Datenbankerweiterung im neuen Code ** [ ein Kätzchen wird irgendwo in der Welt erdrosselt] (http://2.bp.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled.jpg) ** es ist veraltet und ist seit Jahren und ist weg für immer in PHP7. Wenn Sie nur PHP lernen, verbringen Sie Ihre Energie mit dem Lernen der Datenbankerweiterungen und vorbereiteten Anweisungen 'PDO' oder' mysqli'. [Starten Sie hier] (http://php.net/manual/en/book.pdo.php) – RiggsFolly

Antwort

2

Sie haben mehrere Fehler. key ist ein reserved word und muss maskiert werden. Und, müssen Sie die richtige Anführungszeichen um String-Konstanten:

SELECT `key` 
FROM DE_user_stats 
WHERE article_id = 671 AND 
     domain = '2nd.com/' AND 
     userid = 2; 

ich dringend raten würden Sie den Namen der key Spalte zu ändern, so braucht es nicht entgangen sein.

+0

Arbeitete, vielen Dank, während Sie versuchen, den Schlüssel mit $ valess = mysql_fetch_array ($ myQuery); var_dump ($ Werte); das Ergebnis wie dieses array (2) {[0] => string (6) "rKSpxf" [ "Keyy"] => string (6) "rKSpxf"} bekommen, wie kann ich bekommen nur die " rKSpxf "als Ausgabe, die der Schlüssel ist. – Hifi

+0

Verwenden Sie die richtige Abruffunktion! Wie 'mysql_fetch_assoc()' – RiggsFolly

+0

Oder wenn Sie wirklich PDO '$ result-> fetch_assoc()' – RiggsFolly

0

Gerade Zitate hinzufügen, es sollte funktionieren

$myQuery = mysql_query("SELECT key 
         from DE_user_stats 
         WHERE article_id = 671 
         AND domain = '2nd.com' 
         AND userid = 2") 
       or die($myQuery."<br/><br/>".mysql_error());