<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");
/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
foreach (array('latin1', 'utf8') as $charset) {
// Zeichensatz ändern, um dessen Auswirkung auf einige Werte
// (z. B. die Länge in Bytes) zu zeigen
mysqli_set_charset($link, $charset);
$query = "SELECT actor_id, last_name from actor ORDER BY actor_id";
echo "======================\n";
echo "Zeichensatz: $charset\n";
echo "======================\n";
if ($result = mysqli_query($link, $query)) {
/* Informationen über alle Spalten abrufen */
$finfo = mysqli_fetch_fields($result);
foreach ($finfo as $val) {
printf("Name: %s\n", $val->name);
printf("Tabelle: %s\n", $val->table);
printf("max. Länge: %d\n", $val->max_length);
printf("Länge: %d\n", $val->length);
printf("Zeichensatz-Nr.: %d\n", $val->charsetnr);
printf("Flags: %d\n", $val->flags);
printf("Typ: %d\n\n", $val->type);
}
mysqli_free_result($result);
}
}
mysqli_close($link);
?>
Die obigen Bespiele erzeugen folgende Ausgabe:
======================
Zeichensatz: latin1
======================
Name: actor_id
Tabelle: actor
max. Länge: 3
Länge: 5
Zeichensatz-Nr.: 63
Flags: 49699
Typ: 2
Name: last_name
Tabelle: actor
max. Länge: 12
Länge: 45
Zeichensatz-Nr.: 8
Flags: 20489
Typ: 253
======================
Zeichensatz: utf8
======================
Name: actor_id
Tabelle: actor
max. Länge: 3
Länge: 5
Zeichensatz-Nr.: 63
Flags: 49699
Typ: 2
Name: last_name
Tabelle: actor
max. Länge: 12
Länge: 135
Zeichensatz-Nr.: 33
Flags: 20489