sql >> Database >  >> RDS >> Mysql

Hoe kan ik ontsnappen aan speciale tekens in een PDO-verbindingsreeks?

Als je dit om een ​​of andere vreemde reden moet doen, gebruik dan niet de dbname parameter in de dns. Gebruik in plaats daarvan uw databasestuurprogramma om het voor u te selecteren:

$dbh->query('use "newdatabase"'); // for mysql.

Op deze manier heeft u de mogelijkheid om de databasenaam te omsluiten met " , zodat u het een naam kunt geven, ongeacht de bestuurder staat toe . Voor MySQL voor dit specifieke scenario is dit de " karakter, maar dat betekent niet dat het anders is voor PostgreSQL of Firebase.

Maar deze methode is niet kogelvrij, het staat de PDO-bibliotheek alleen toe om de DSN normaal te ontleden zoals ik niet verwacht de PDO-bibliotheek om met deze ongebruikelijke situatie om te gaan, aangezien het enige doel is om met zoveel mogelijk chauffeurs te communiceren.

Driver-specifieke vergoedingen mogen niet deelnemen aan PDO, dus je moet de chauffeur hier echt om vragen, op deze manier kun je ook controleren of de query niet wordt uitgevoerd.



  1. String[] selectionArgs gebruiken in SQLiteDatabase.query()

  2. Waarom klaagt Oracle 10g niet over dubbelzinnigheid van kolommen?

  3. Een ander PostgreSQL-commitfest beheren

  4. MySQL:u kunt de doeltabel voor update niet specificeren in de FROM-clausule