MySQLi имеет два основных преимущества перед MySQL ; подготовленные операторы - отличный способ избежать атак с использованием SQL-инъекций. Во-вторых, MySQL (или mariaDB) сделает все возможное, чтобы оптимизировать подготовленные операторы, и, таким образом, у вас есть потенциал для оптимизации скорости. Увеличение скорости от осчастливления базы данных значительно увеличит крошечную разницу между MySQL и MySQLi.
Если вы вводите операторы, вы искажаете их вместе, как SELECT * FROM users WHERE ID=$user_id
, база данных будет обрабатывать это как уникальный оператор с каждым новым значением $user_id
. Но подготовленный оператор SELECT * FROM users WHERE ID=?
имеет гораздо больше шансов на выполнение некоторых оптимизаций / кэширования в базе данных.
Но сравнения довольно скучны, поскольку MySQL теперь официально устарела . Изо рта лошади:
Устаревшие функции в PHP 5.5.x
ext / mysql deprecation
Исходное расширение MySQL устарело и будет выдавать E_DEPRECATED
ошибок при подключении к базе данных. Вместо этого используйте расширения MySQLi или PDO_MySQL .