sql >> Database >  >> RDS >> Mysql

PDO/MYSQL voorbereide statements zonder escapetekens?

Voorbereide verklaringen ontsnappen aan niets. Wanneer u een instructie voorbereidt, wordt uw query vooraf gecompileerd, zodat deze alleen de tijdelijke aanduidingen nodig heeft ( ? ) in te vullen. Aangezien er geen manier is om de SQL van de voorgecompileerde query te wijzigen, is er geen escape nodig.

Om dit op te lossen, escape % en _ handmatig.

Toegevoegd:

Een beetje gezond verstand redenering:in jouw geval, wanneer een gebruiker % . invoert in een zoekvak, uw $search variabele bevat string %%% . Hoe zou MySQL weten, welke % het moet ontsnappen en wat het met rust moet laten?



  1. Forceer herladen/verversen wanneer u op de terug-knop drukt

  2. Het verschil vinden tussen twee waarden in dezelfde kolom in MySQL

  3. MySQL update specifieke JSON-objecten in een array

  4. XAMPP - MySQL wordt onverwacht afgesloten