sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag undvika specialtecken i en PDO-anslutningssträng?

Om du av någon konstig anledning behöver göra detta, använd inte dbname parameter i dns. Använd istället din databasdrivrutin för att välja den åt dig:

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

På så sätt har du möjlighet att omge databasnamnet med " , så att du kan döpa den till oavsett drivrutin tillåter . För MySQL för detta specifika scenario är det " karaktär, men det betyder inte att det är annorlunda för PostgreSQL eller Firebase.

Men den här metoden är inte skottsäker, den tillåter bara PDO-biblioteket att analysera DSN som vanligt som jag inte förväntar SUB-biblioteket för att hantera denna ovanliga situation eftersom dess enda syfte är att interagera med så många förare som möjligt.

Förarspecifika tillåtelser bör inte delta i PDO, så du bör verkligen fråga föraren om detta, på så sätt kan du också kontrollera om frågan inte kan köras.



  1. user postgres lanserar en process som tar alla processorer till 100 % användning

  2. Matcha Oracle-duplicerade kolumnvärden med Soundex, Jaro Winkler och Edit Distance (UTL_MATCH)

  3. Hur man tar bort MySQL 5.7 helt från Windows

  4. Hur hittar jag dubbletter av värden i en tabell i Oracle?