sql >> Database teknologi >  >> RDS >> Mysql

hvordan kontrolleres streng til stede i databasekolonnen?

Din strengsammenkædning er rodet, den burde være:(yderligere forenklet )

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

når sætningen ovenfor er parset, vil den se således ud:

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

Som en sidenote er forespørgslen sårbar med SQL Injection hvis værdien (s ) af variablerne kom udefra. Tag et kig på artiklen nedenfor for at lære, hvordan du forhindrer det. Ved at bruge PreparedStatements du kan slippe for at bruge enkelte anførselstegn omkring værdier.



  1. Oracle SQL, udfyld manglende værdi med den nærmeste ikke-manglende

  2. 11 SQL Server-indeks for bedste praksis for forbedret justering af ydeevne

  3. Sådan bruges tabeloutput fra gemt MYSQL-procedure

  4. Når du gemmer en MySQL-forbindelsesstreng i App.config, hvilken værdi skal providerName-egenskaben indstilles til?