sql >> Databasteknik >  >> RDS >> Mysql

PHP-strängvariabel i WHERE-sats MySQL

du får inget datum eftersom du har extra utrymme mellan citattecken,

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

som sedan kommer att tolkas till

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

ta bort det så fungerar det

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

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. sql för att välja en post för varje månad med summan av månadsposterna

  2. Jag kan inte köra paketuppdatering på grund av mysql2 gem

  3. Hur man gör en UPDATE Pass-Through Query i SQL Server

  4. Så här skapar du ett formulär från en tabell i Access 2016