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

Разлика между PDO->query() и PDO->exec()

Въпреки каквато и да е теоретична разлика, нито една от тези функции не трябва да се използва така или иначе - така че няма какво да се притеснявате.

Единствената причина за използване на PDO е поддръжката на подготвени отчети , но никоя от тези функции не го предлага. Така че те не трябва да се използват.

Използвайте prepare()/execute() вместо това,особено за изрази UPDATE,INSERT,DELETE.

Моля, имайте предвид, че въпреки че подготвените изявления са широко рекламирани като мярка за сигурност, те са само за привличане на вниманието на хората. Но техенински целта е правилно форматиране на заявката . Което също ви дава сигурност - тъй като правилно форматираната заявка не може да бъде инжектирана - също като страничен ефект. Но отново – форматирането е основна цел, просто защото дори невинни данни могат да причинят грешка в заявката, ако не са форматирани правилно.

РЕДАКТИРАНЕ:Моля, имайте предвид, че execute() връща само TRUE или FALSE за да покаже успеха на операцията. За друга информация, като например броя на записите, засегнати от UPDATE , методи като rowCount() са предоставени. Вижте документите .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Многоезичен тип данни в MYSQL

  2. Бутонът за изтриване не работи в CodeIgniter

  3. Приложение за Android Xamarin с онлайн база данни MySql/Sql

  4. SQL - Премахване на скоби от телефонния номер

  5. Проверка дали съществува потребител на mysql