Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie überprüfe ich die in der Datenbankspalte vorhandene Zeichenfolge?

Ihre Zeichenfolgenverkettung ist durcheinander, es sollte sein:(weiter vereinfacht )

$selDoc="SELECT * FROM documents WHERE 'U".$_SESSION['userId']."' IN (senderID,receiver_id) ORDER BY id DESC";

Wenn die obige Anweisung geparst wird, sieht sie dann so aus:

SELECT * 
FROM   documents 
WHERE  'UXX' IN (senderID,receiver_id)  // where XX is the userID
ORDER  BY id DESC

Als Nebenbemerkung ist die Abfrage mit SQL Injection angreifbar wenn der Wert (s ) der Variablen kam von außen. Bitte werfen Sie einen Blick auf den folgenden Artikel, um zu erfahren, wie Sie dies verhindern können. Durch die Verwendung von PreparedStatements Sie können die Verwendung von einfachen Anführungszeichen um Werte loswerden.