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

PHP-strengvariabel i WHERE-sætning MySQL

du får ingen dato, fordi du har ekstra plads mellem citaterne,

$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show =' ". $show. " '";
                                                                    ^ HERE      ^

som derefter vil blive parset ind i

SELECT * FROM toho_shows WHERE toho_shows.show =' gothaf '

fjern det, og det vil virke

$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show ='". $show. "'";

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. SSIS-opgave til import af inkonsistent kolonneantal?

  2. Bestil efter COUNT pr. værdi

  3. Hvorfor vælger denne forespørgsel kun en enkelt række?

  4. Begræns en sammenkædet server til et enkelt lokalt login (T-SQL-eksempel)