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