sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg undslippe specialtegn i en PDO-forbindelsesstreng?

Hvis du af en eller anden mærkelig grund har brug for at gøre dette, skal du ikke bruge dbname parameter i dns. Brug i stedet din databasedriver til at vælge den for dig:

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

På denne måde har du mulighed for at omslutte databasenavnet med " , så du kan navngive den uanset driveren tillader . For MySQL for dette specifikke scenarie er det " karakter, men det betyder ikke, at det er forskelligt for PostgreSQL eller Firebase.

Men denne metode er ikke skudsikker, den tillader kun PDO-biblioteket at parse DSN'et som normalt, som jeg ikke forventer PDO-biblioteket til at klare denne usædvanlige situation, da dets eneste formål er at interagere med så mange drivere som muligt.

Driverspecifikke tilladelser bør ikke deltage i PDO, så du bør virkelig bede chaufføren om dette, på denne måde kan du også kontrollere, om forespørgslen ikke kan udføres.



  1. Hvordan kan jeg lave en UPDATE-sætning med JOIN i SQL Server?

  2. cURL og PHP viser 1

  3. PHP/MYSQL:Databasetabel til e-mailmeddelelser

  4. Rails 4:Brug MySql og MongoDB sammen