sql >> Databáze >  >> RDS >> Mysql

Jak mohu uniknout speciálním znakům v připojovacím řetězci PDO?

Pokud to z nějakého zvláštního důvodu potřebujete udělat, nepoužívejte dbname parametr v dns. Místo toho jej vyberte pomocí ovladače databáze:

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

Tímto způsobem máte možnost uzavřít název databáze pomocí " , takže jej můžete pojmenovat jakýkoli ovladač povoluje . Pro MySQL pro tento konkrétní scénář je to " znak, ale to neznamená, že se liší pro PostgreSQL nebo Firebase.

Ale tato metoda není neprůstřelná, umožňuje pouze knihovně PDO analyzovat DSN tak normálně, jak neočekávám knihovna PDO se s touto neobvyklou situací vyrovná, protože jejím jediným účelem je komunikovat s co největším počtem ovladačů.

Specifické povolenky pro řidiče by neměly být součástí PDO, takže byste o to měli řidiče skutečně požádat, tímto způsobem můžete také zkontrolovat, zda se dotaz nezdaří.



  1. Pomocí LOAD DATA LOCAL INFILE v Javě

  2. SQL Server REPLACE() vs TRANSLATE():Jaké jsou rozdíly?

  3. Codeigniter Select_Sum vrací pole, nikoli číselnou hodnotu?

  4. Řešení problémů generátoru číselných řad – Část 4