![]() |
STMT en MYSQL Buenas, ya estoy por aquí otra vez. Estoy desarrollando una clase database para conectarme a mysql, y me gustaría que las consultas se lanzasen con plantillas de la consulta por un lado y parámetros por otro, que he leido por ahí, que es interesante por temas de seguridad. Tengo la parte echa que realiza la consulta: Código PHP: Donde un ejemplo de los datos con los que se invoca a esta función son estos: Código PHP: La función debería de ser algo así, (ya se que esta probablemente tiene cosas mal, porque llevo mil cambios, y me quedado con la ultima) Código PHP: Código PHP: Espero haberme explicado bien. Un saludo, |
Re: STMT en MYSQL Hola, creo que lo puedo hacer con mysqli_stmt_result_metadata, no obstante me gustaría saber vuestra opinión de usar este sistema, si merece la pena o no... Un saludo, |
Re: STMT en MYSQL el sistema esta bien, pero me da la sensación que será un poco lento ya que haces varios loops antes de tener el resultado |
Re: STMT en MYSQL Hola aloon, La funcion encargada de convertir el resultado en un array no está implementada correctamente (la de los loops), no se muy bien del todo como hacerlo, porque al querer hacer algo estandarizado para todo tipo de consultas, es decir, para consultas que devuelvan distinto número de columnas de datos, ejemplo, que funcione para una "SELECT id, name..." igual que para un "SELECT id...". Para extraer la información usando STMT hay que llamar previamente a la funcion mysqli_stmt_bind_result e indicar las variables donde se van a almacenar los resultados, sacando fila a fila con mysqli_stmt_fetch. Espero explicarme bien. Os dejo la última función que estoy probando... sigo en las mismas :S Código PHP: |
Re: STMT en MYSQL y porque no haces directamente un fechAll? |
Re: STMT en MYSQL Hola aloon, no se como va eso del fetchall, estoy intentando documentarme ahora mismo, si puedes ponerme un ejemplo te lo agradecería :), pero seguro que funciona con STMT? Muchas gracias, un saludo |
Re: STMT en MYSQL Hola, ya tengo una solución, de momento voy a tirar con esto si no se me ocurre ninguna forma de optimizarlo. Código PHP: Un saludo |
Re: STMT en MYSQL No estoy muy familiarizado con la extensión MySQLi, pero porque no te mudas a la extensión PDO, que ya es ampliamente soportada en PHP 5.2? Saludos. |
Re: STMT en MYSQL Hola GatorV, Muchas gracias, lo cierto que no tengo ni idea de esta extensión, como de casi nada de PHP, voy dando palos de ciego, documentándome en diferentes webs y foros, estoy leyendo libros donde no se menciona la extensión que me comentas, asíque imagino que aunque es de la versión 5 ("La biblia del PHP 5"), se me ha quedado un poco "deprecated" xD. Voy a documentarme sobre PDO, y tan pronto tenga una solución/duda, la publico :-):-) Un saludo, y gracias otra vez :arriba: |
Re: STMT en MYSQL PDO (PHP Data Objects) Es una nueva extensión para PHP, con la que abstraes el motor de la base de datos, tiene "drivers" para diferentes bases de datos, entre ellas MySQL, y soporta cosas como preparar consultas con arreglos, etc. Te recomiendo le des una leida, ya que es probable que en un futuro se utilize mucho mas PDO que los drivers nativos. Saludos. |
Re: STMT en MYSQL Merodeador perdona no existe fechAll en mysqli yo lo estoy utilizado en ZendFramework |
| La zona horaria es GMT -6. Ahora son las 10:49. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.