Consulta nativa de php
Cuando no se van a utilizar variables en la consulta, se puede utilizar el método familiar query(), que devuelve una variable de resultado familiar de mysqli. El resultado puede ser iterado usando un conocido bucle while.
Entonces, la consulta se prepara. La idea es muy inteligente. Para evitar incluso una posibilidad de inyección SQL o un error de sintaxis causado por los datos de entrada, la consulta y los datos se envían al servidor de la base de datos por separado. Así que aquí sigue: con prepare() estamos enviando la consulta al servidor de la base de datos por delante. Como resultado se crea una variable especial, una sentencia. Usaremos esta variable de ahora en adelante.
Entonces las variables deben estar ligadas a la declaración. La llamada consta de dos partes – la cadena con los tipos y la lista de variables. Con mysqli, hay que designar el tipo para cada variable ligada. Está representado por una sola letra en el primer parámetro. El número de letras debe ser siempre igual al número de variables. Los tipos posibles son
Aquí estamos llamando a una función muy inteligente. Por defecto, por alguna razón es imposible obtener un array familiar (como hicimos con mysql_fetch_array()) desde una sentencia mysqli. Así que esta función está aquí para ayudar, obteniendo un resultado mysqli desde una sentencia mysqli.
Mysqli_fetch_object
5.Simon and SchusterLenguaje de código: plaintext (texto plano)Cómo funciona.Primero, conéctese a la base de datos bookdb utilizando el script connect.php.$pdo = require ‘connect.php’;Lenguaje de código: PHP (php)En segundo lugar, ejecute una consulta que seleccione el publisher_id y el nombre de la tabla de editores:$sql = ‘SELECT publisher_id, name
Lenguaje del código: PHP (php)Usando el método fetchAll() con una sentencia preparadaSi una consulta acepta uno o más parámetros, puede:El siguiente ejemplo muestra cómo usar fetchAll() para obtener todos los editores con el id mayor que 2:<?php
El objeto Mysqli ya está cerrado
Lo que necesito es la clase de abajo para mostrar múltiples resultados. Sólo muestra una fila. Pero si tengo varias filas con id = 1 me gustaría mostrar estos resultados, pero no consigo que funcione. He intentado muchas cosas pero siempre termino con un solo resultado.
Obtengo resultados como los de arriba, ¿hay alguna manera de mostrar fácilmente estos resultados en un eco? Para cada id hay diferentes resultados, por lo que los resultados varían con cada consulta. Así que me gustaría mostrar los resultados en una tabla por ejemplo así:
Entonces, cuando quiera generar una tabla html a partir de la matriz devuelta de matrices asociativas, utilice implode() como una solución flexible que no le importa si cambia el número de columnas que se le pasan — manejará un número indefinido de columnas.
Mysqli_query return
Todavía no entiendo por qué FETCH_KEY_PAIR no está documentado aquí (http://php.net/manual/fr/pdo.constants.php), porque podría ser muy útil! <?php var_dump($pdo->query(‘select id, name from table’)->fetchAll(PDO::FETCH_KEY_PAIR));?>Esto mostrará:array(2) { [2]=> string(10) “name2” [5]=> string(10) “name5”}
Inyecta los parámetros directamente en `fetchAll` en lugar de utilizar `bindValue`$query = ” SELECT a.total_paid_tax_incl AS prize, a.date_add AS date_add FROM orders a WHERE a.order_id = :seventeen AND a. name = :name”;// conexión (Ejemplo en Symfony se utiliza la clase Connection en el namespace Doctrine\DBAL\Connection)$this->connection->fetchAll($query, [‘seventeen’ => 70, ‘name’ => ‘Sidi’])
Si intentas llamar a PDOStatement::fetchAll y no obtienes el resultado esperado (vacío), comprueba si has llamado primero a PDOStatement::execute.Recuerda que PDOStatement::fetchAll no ejecuta la consulta, sólo monta el array. 🙂