Попытка узнать что-то новое - в частности, пытаясь выбрать, чтобы использовать MySQLi или PDO для будущих проектов при работе с MySQL. Я наткнулся на this page, в котором представлен обзор доступных мне вариантов.Что такое подготовленные на стороне клиента заявления?
В нижней части этой страницы приведена таблица, в которой сравниваются функциональные возможности трех основных методов связи с mysql. В строке «API поддерживает подготовленные заявления на стороне клиента», он говорит, что PDO поддерживает это, а MySQLi - нет.
Я знаю, какие подготовленные заявления есть. Ответ на this question - это простой пример того, что, на мой взгляд, является подготовленным оператором на стороне сервера. И PHP - это серверный язык, который, в свою очередь, должен означать, что не имеет значения, доступны ли подготовленные заявления на стороне клиента или нет. Но это заставляет меня задаться вопросом, почему это даже указано в руководстве по PHP.
Итак, какие подготовленные заявления на стороне клиента?
Я предполагаю, что это использует клиент/сервер в другом контексте, чем веб-модель - то есть MySQL является сервером, а PHP является клиентом в этом контексте. Хотя они оба находятся на одном компьютере. –
Скорее всего это относится к ['PDO :: ATTR_EMULATE_PREPARES'] (http://www.php.net/manual/en/pdo.setattribute.php), который имитирует подготовленные операторы с интерполяцией и экранированием. Это делается в библиотеке, так что технически клиентская сторона, прежде чем запросы будут переданы на сервер БД. – mario
@MattFenwick Хотя это может иметь смысл, это не объясняет, почему одна и та же таблица показывает поддержку подготовленных операторов на стороне сервера, как и для всех библиотек, но только одна из них поддерживает клиентскую сторону, если мы принимаем предположение, что PHP является клиент. – Repox