Leer datos de la base de datos MySQL
La declaración SELECT se utiliza para leer datos de una tabla de datos:
SELECCIONE nombre_columna(s) DESDE nombre_tabla
Podemos usar el signo * para leer todos los campos de la tabla de datos:
SELECCIONAR * DESDE nombre_tabla
Para obtener más información sobre SQL, visite nuestros tutoriales de SQL.
Usando MySQLi
En el siguiente ejemplo, leemos los datos de las columnas id, nombre y apellido de la tabla MyGuests de la base de datos myDB y los mostramos en la página:
Ejemplo (MySQLi - Orientado a objetos)
<?php $servername = " localhost " ; $username = " nombre
de usuario " ; $contraseña = " contraseña " ; $ dbname = " myDB " ; $conexión = nuevo mysqli ( $nombredelservidor , $nombredeusuario , $contraseña , $nombrebd ) // Comprobar la conexión ; si ( $conexión -> connect_error ) { die ( " Error de conexión: " . $conn - > connect_error ) ; $sql = " SELECCIONAR identificación, nombre
, apellido DE MisInvitados " ; $resultado = $conn -> consulta ( $sql ) ; ( $resultado -> núm_filas > 0 ) { // datos de salida mientras ( $fila = $resultado -> fetch_assoc ( ) ) { eco " id: " . $ fila [ " id " ] " - Nombre : " $ fila [ " nombre " ] . " . $fila [ " apellido " ] . " <br> " ; } } demás { eco " 0 resultados " ; $conexión -> cerrar ( ) ? > El código anterior se analiza de la siguiente manera:
Primero, configuramos la declaración SQL para leer los tres campos id, nombre y apellido de la tabla de datos MyGuests. Luego usamos la declaración SQL modificada para recuperar el conjunto de resultados de la base de datos y asignarlo a la variable $resultado copiada.
La función num_rows() determina los datos devueltos.
Si se devuelven varios datos, la función fetch_assoc() coloca el conjunto combinado en una matriz asociativa y lo genera en un bucle. while() recorre el conjunto de resultados y genera los tres valores de campo id, nombre y apellido.
El siguiente ejemplo utiliza el enfoque orientado a procesos de MySQLi y el efecto es similar al código anterior:
Ejemplo (MySQLi - Orientado a procedimientos)
<?php $servername = " localhost " ; $username = " nombre
de usuario " ; $contraseña = " contraseña " ; $ dbname = " myDB " ; $conn = mysqli_connect ( $nombredelservidor , $nombredeusuario , $contraseña , $nombrebd ) ; / Verificar la conexión; si ( ! $ conexión ) { die ( " Error
de conexión: " . mysqli_connect_error ( ) ) ; $sql = " SELECCIONAR identificación
, nombre
, apellido DE MisInvitados " $resultado = mysqli_query ( $conn , $sql ) ; ( mysqli_num_rows ( $resultado ) > 0 ) { // datos de salida mientras ( $fila = mysqli_fetch_assoc ( $resultado ) ) { eco " id: " . $ fila [ " id " ] " - Nombre : " $ fila [ " nombre " ] . " . $fila [ " apellido " ] . " <br> " ; } } demás { eco " 0 resultados " ; mysqli_close ( $conexión ) ? > Usando PDO (+ preprocesamiento)
Los siguientes ejemplos utilizan declaraciones preparadas.
Seleccionó los campos de identificación, nombre y apellido de la tabla MyGuests y los colocó en la tabla HTML:
Ejemplo (DOP)
<?php eco " <estilo de tabla='borde: sólido 1px negro;' > " ; " <tr><th>Id</th><th>
Nombre </th><th>Apellido</th></tr> " ; Filas de tabla se extiende Iterador recursivoIterador { función __construir ( $it ) { padre :: __construct ( $ it , self :: LEAVES_ONLY ) } función actual ( ) { devolver " <td style='width:150px;border:1px solid black; ' > " . padre :: actual ( ) " </td> " ; función comenzarNiños ( ) { eco " <tr> " ; función finNiños ( ) { eco " </tr> " .} $nombredeservidor = " localhost " ; $nombre de usuario = " nombre de usuario " ; $contraseña = " contraseña " ; $dbname = " myDBPDO " ; { $conexión = nuevo PDO ( " mysql:host= $nombredelservidor ;dbname= $dbname " , $nombre de usuario , $contraseña ) ; $conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ; $stmt = $conn -> preparar ( " SELECCIONE identificación, nombre, apellido DE MisInvitados " ) ; $stmt -> ejecutar ( ) ; // Establece el conjunto de resultados como una matriz asociativa $resultado = $stmt -> setFetchMode ( PDO :: FETCH_ASSOC ) foreach ( nuevo )
; TableRows ( nuevo RecursiveArrayIterator ( $stmt -> fetchAll ( ) ) ) como $k => $v ) { eco $ v ; } captura ( PDOException $e ) { eco " Error: " . $e - > obtenerMensaje ( ) ; $conn = nulo ; eco " </tabla> " ? >