Что такое client-side prepared statement?
Я начинаю разрабатывать страницы с помощью PHP, как я еще не зная языка, я решил искать какой модуль использовать, чтобы сделать соединение с базой данных MySQL.
от этот ответ, я обнаружил, что модуль mysql_*
уже был снят с производства и содержит несколько проблем безопасности. В тот же ответ, он указывает, использование mysqli_* и PDO, как я был в сомнении был сравним различий между два.
Это заставило меня еще более запутанной, ибо mysqli_*
, кажется, предлагает более поддержки, что PDO
, однако только PDO
, поддерживает client-side prepared statements
.
Мой вопрос заключается в чем разница между prepared statements server-side и client-side? При использовании и при использовании других?
1 answers
И драйвер PDO-это слой abstraccao, и не связан ни с BD реляционной указывает. Этот слой имитирует prepared statements со стороны клиента, в случае, если сервер не поддерживает prepared statements.
Библиотека mysqli
- это слой определяет для баз данных MySQL. В качестве базы данных MySQL поддерживают prepared statements стороне сервера, нет необходимости имитировать.
, Кратко, использует server-side prepared statements всегда, что возможный. В simulacao со стороны клиента, так и' util когда сам сервер не " в состоянии сделать это.
Использует PDO всегда, что хочешь, слой abstraccao экстра - или есть, если не хочешь, что был зависимым от BD определяет, или, как называют по @bfavaretto, вы хотите использовать именованные параметры.