Основным недостатком PDO будет то, что запрос займет немного больше времени (я не могу «доказать» это, поэтому не принимайте это как факт, только то, что я заметил/прочитал), что намного меньше секунды. Но если вам это нужно меньше, то второй mysqli
предлагает готовые операторы, такие как PDO
, и я считаю, что он работает немного быстрее, учитывая, что он установлен для одной базы данных, а не для многих.
Это больше кода, но, как сказал nikic, используйте класс-оболочку для настройки ваших операторов, чтобы ваш код мог выглядеть примерно так:
$db->fetchAll('SELECT * FROM table WHERE name = ?', $name);
Где fetchAll
— это пользовательская функция, которую вы пишете для обработки привязки параметров и т. д.
Что бы я использовал? mysqli
или PDO
(PDO лично из-за его универсальности). MySQL
(не mysqli
) немного устарел, и, в конце концов, вы могли бы написать гораздо больше кода, используя MySQL
, поскольку вам всегда нужно фильтровать ввод (как в escape для предотвращения SQL-инъекций, он не будет проверять, что должно быть помещено там) перед помещением его в базу данных. Используя подготовленные операторы, фильтрация выполняется за вас, и вероятность инъекции очень мала, если она используется правильно.
person
Jimithus
schedule
06.05.2011
PDO->quote
, вы называете это небезопасным? Вы действительно говорите мне, что методPDO->quote
уязвим? Если да, не могли бы вы дать мне ссылку? Это означало бы, что весь мой код открыт для sqli! - person NikiC   schedule 06.05.2011