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

Как мога да използвам подготвени изявления в CodeIgniter

CodeIgniter не поддържа подготвени изявления. Ако погледнете изходния код за класа Database на CI, ще видите, че те разрешават обвързвания, просто като заменят въпросителните знаци с данните от предадения масив:

Те поддържат само обвързване на заявки с неназовани заместители. Вижте http://ellislab.com/codeigniter/user-guide/database/ queries.html

Обвързване на заявка

Обвързванията ви позволяват да опростите синтаксиса на заявката си, като позволите на системата да сглоби заявките вместо вас. Помислете за следния пример:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));

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

и http://ellislab.com/forums/viewthread/105112/#528915

Въпреки че CI не поддържа подготвени изявления, той поддържа обвързване на заявки. С подготвените оператори трябва да извикате някакъв тип функция за подготовка() и след това някакъв тип функция execute(). С обвързването на заявка трябва да извикате само една функция и тя по същество прави същото. Поради това харесвам обвързването на заявки повече от подготвените изрази.

В странична бележка, промяна на ? към :foo просто се променя от неименувани към именувани свързвания (които CI очевидно също не поддържа). Само защото използвате едно или друго или не означава, че подготвяте изявленията.



  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 на Docker - Как да контейнеризирате вашата база данни:Нова бяла книга

  2. SQLAlchemy ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ

  3. Как да променя MySQL колона, за да разреша NULL?

  4. Как да изтрия mysql ред след изтичане на времето?

  5. Как да създадете блог в PHP и MySQL база данни - Admin Posts