Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да избягвам специални символи в низ за връзка с PDO?

Ако по някаква, странна причина трябва да направите това, не използвайте dbname параметър в dns. Вместо това използвайте драйвера на вашата база данни, за да го изберете вместо вас:

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

По този начин имате възможност да затворите името на базата данни с " , така че можете да го назовете както и да е драйверът позволява . За MySQL за този конкретен сценарий това е " символ, но това не означава, че е различен за PostgreSQL или Firebase.

Но този метод не е устойчив на куршуми, позволява само на PDO библиотеката да анализира DSN както обикновено, както не очаквам библиотеката на PDO, за да се справи с тази необичайна ситуация, тъй като единствената й цел е да взаимодейства с възможно най-много драйвери.

Специфичните за драйвера квоти не трябва да участват в PDO, така че наистина трябва да попитате драйвера за това, по този начин можете също да проверите дали заявката не успява да се изпълни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Валидиране на формуляра

  2. Magento:SQLSTATE[23000]:Нарушение на ограничението за целостта:1062 Дублиран запис „100000001“ за ключ „UNQ_SALES_FLAT_ORDER_IN

  3. MySQL скриптовете в docker-entrypoint-initdb не се изпълняват

  4. Как да използвам ефективно стойностите за дължина/ширина в Mysql?

  5. Как да намерите ASCII кода за даден символ в MySQL