sql >> Database >  >> RDS >> Mysql

PHP-tekenreeksvariabele in WHERE-component MySQL

je krijgt geen datum omdat je extra ruimte hebt tussen de aanhalingstekens,

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

die vervolgens wordt geparseerd in

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

verwijder het en het zal werken

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

Even terzijde:de query is kwetsbaar met SQL Injection als de waarde(s ) van de variabelen kwam van buitenaf. Bekijk het onderstaande artikel om te zien hoe u dit kunt voorkomen. Door PreparedStatements . te gebruiken u kunt het gebruik van enkele aanhalingstekens rond waarden verwijderen.




  1. SQL DROP-KOLOM voor beginners

  2. MySQL:eenvoudige manier om een ​​waarde van een int-veld te wisselen

  3. Maak eerst opgeslagen procedures met behulp van Entity Framework Code?

  4. Hoe vind ik relaties tussen tabellen die verband houden met lange afstanden? MySQL