Intentando aprender algo nuevo, específicamente tratando de elegir si utilizar MySQLi o PDO para proyectos futuros cuando se trabaja con MySQL - Me encontré con this page que muestra una descripción general de las opciones disponibles para mí.¿Qué son las declaraciones preparadas por el cliente?
En la parte inferior de esta página hay una tabla que compara la funcionalidad de los tres métodos principales de comunicación con mysql. En la fila "API admite Declaraciones preparadas del lado cliente", dice que PDO admite esto y MySQLi no.
Sé lo que son declaraciones preparadas. La respuesta al this question es un ejemplo simple de lo que creo que son declaraciones preparadas del lado del servidor. Y PHP es un lenguaje del lado del servidor, lo que a su vez debería significar que no importa si las declaraciones preparadas del lado del cliente están disponibles o no. Pero eso me hace preguntarme por qué incluso eso está incluido en el manual de PHP.
¿Qué son las afirmaciones preparadas por el cliente?
Supongo que esto utiliza el cliente/servidor en un contexto diferente que el modelo web, es decir, MySQL es el servidor y PHP es el cliente en este contexto. A pesar de que ambos están en la misma computadora. –
Lo más seguro es que se refiere a ['PDO :: ATTR_EMULATE_PREPARES'] (http://www.php.net/manual/en/pdo.setattribute.php), una configuración que simula instrucciones preparadas con interpolación y escape. Esto se hace en la biblioteca, por lo que técnicamente es del lado del cliente, antes de que las solicitudes se transfieran al servidor de BD. – mario
@MattFenwick Aunque esto podría tener perfecto sentido, esto no explica por qué la misma tabla muestra soporte para las declaraciones preparadas del lado del servidor como para todas las bibliotecas, pero solo una de ellas admite el lado del cliente si aceptamos la premisa de que PHP es el cliente. – Repox