<?php
$enlace = mysqli_connect("127.0.0.1", "mi_usuario", "mi_contraseña", "sakila");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
foreach (array('latin1', 'utf8') as $conj_caract) {
// Establecer el conjunto de caracteres para mostrar su impacto en algunos valores (p.ej., longitud en bytes)
mysqli_set_charset($enlace, $conj_caract);
$consulta = "SELECT actor_id, last_name from actor ORDER BY actor_id";
echo "===============================\n";
echo "Conjunto de caracteres: $conj_caract\n";
echo "===============================\n";
if ($resultado = mysqli_query($enlace, $consulta)) {
/* Obtener la información del campo para todas las columnas */
$info_campo = mysqli_fetch_fields($resultado);
foreach ($info_campo as $valor) {
printf("Nombre: %s\n", $valor->name);
printf("Tabla: %s\n", $valor->table);
printf("Longitud máx.: %d\n", $valor->max_length);
printf("Longitud: %d\n", $valor->length);
printf("Nº conj. caract.: %d\n", $valor->charsetnr);
printf("Banderas: %d\n", $valor->flags);
printf("Tipo: %d\n\n", $valor->type);
}
mysqli_free_result($resultado);
}
}
mysqli_close($enlace);
?>
El resultado de los ejemplos sería:
===============================
Conjunto de caracteres: latin1
===============================
Nombre: actor_id
Tabla: actor
Longitud máx.: 3
Longitud: 5
Nº conj. caract.: 63
Banderas: 49699
Tipo: 2
Nombre: last_name
Tabla: actor
Longitud máx.: 12
Longitud: 45
Nº conj. caract.: 8
Banderas: 20489
Tipo: 253
===============================
Conjunto de caracteres: utf8
===============================
Nombre: actor_id
Tabla: actor
Longitud máx.: 3
Longitud: 5
Nº conj. caract.: 63
Banderas: 49699
Tipo: 2
Nombre: last_name
Tabla: actor
Longitud máx.: 12
Longitud: 135
Nº conj. caract.: 33
Banderas: 20489