implementando una consulta en pdo
en PDO, cuando se usa el operador similar, es crucial incluir los signos % en los parámetros, no dentro de la consulta misma. Esto se debe a que PDO preparó las declaraciones encapsulan los valores en cotizaciones, que pueden interferir con el%de marcadores de posición.
por ejemplo, considere la siguiente consulta:
$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'"; $params = array($var1, $var2);
Cuando esta consulta está preparada, los signos%se encapsularán en las comillas, lo que resulta en una consulta como esta:
SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'interrumpir la funcionalidad prevista del operador similar.
para rectificar este problema, los signos % deben incluirse en los parámetros en su lugar:
$ query = "Seleccionar * de tbl ¿Dónde? $ params = array ("%$ var1%", "%$ var2%");
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?"; $params = array("%$var1%", "%$var2%");con esta modificación, la consulta preparada buscará correctamente direcciones que contengan $ var1 o $ var2.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3