usando consultas similares en pdo
al intentar implementar una consulta similar en PDO, puede encontrar problemas como el que se describe en la consulta a continuación:
$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'"; $params = array($var1, $var2); $stmt = $handle->prepare($query); $stmt->execute($params);
Esta consulta probablemente no devolverá resultados, incluso cuando $ VAR1 y $ VAR2 contienen palabras de búsqueda válidas. El error se encuentra en la inclusión incorrecta de los signos de %.
para usar correctamente como en PDO, los signos % deben incluirse en la matriz $ Params, no en la consulta misma. Aquí está el código corregido:
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?"; $params = array("%$var1%", "%$var2%"); $stmt = $handle->prepare($query); $stmt->execute($params);
encerrando las variables en % signos dentro de la matriz $ params, se asegura de que los % caracteres se sustituyan en la consulta correctamente. Sin esta modificación, la declaración preparada para PDO tratará el % de signos como parte del valor de la cadena literal, lo que resulta en una consulta incorrecta.
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