sql >> Databasteknik >  >> RDS >> Mysql

PDO/MYSQL förberedda uttalanden som inte undkommer tecken?

Förberedda uttalanden undgår ingenting. När du förbereder en sats förkompileras din fråga, så att den bara behöver platshållarna ( ? ) som ska fyllas i. Eftersom det inte finns något sätt att ändra SQL för den förkompilerade frågan, behövs ingen escape.

För att åtgärda detta, escape % och _ manuellt.

Lade till:

Lite sunt förnuftsresonemang:I ditt fall, när en användare anger % i en sökruta, din $search variabeln innehåller strängen %%% . Hur skulle MySQL veta vilken % den ska fly, och vilken ska den lämna ifred?



  1. Skriv ett tal med två decimaler SQL Server

  2. MySQL :Välj poster med villkor som gäller för flera rader

  3. CakePHP:Hur kan jag använda en HAVING-operation när jag bygger frågor med sökmetoden?

  4. Oracle felhantering