sql >> Databasteknik >  >> RDS >> Mysql

hur man kontrollerar strängen som finns i databaskolumnen?

Din strängsammansättning är förstörd, den borde vara:(ytterligare förenklad )

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

när påståendet ovan tolkas kommer det att se ut så här:

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

Som en sidanot är frågan sårbar med SQL Injection om värdet (s ) av variablerna kom utifrån. Ta en titt på artikeln nedan för att lära dig hur du förhindrar det. Genom att använda PreparedStatements du kan bli av med att använda enstaka citattecken runt värden.



  1. Skiftlägeskänslig för restriktioner "likar med id" i Hibernate-begränsningar

  2. Frågan tar väldigt lång tid första gången den körs

  3. Hur ansluter man Android till PHP och MySQL?

  4. Hur man genererar INSERT-satser från en fråga när du använder SQLcl (Oracle)