In case of UTF8 fields mysql_field_len() will return 3 times the maximum length (e.g. 30 for a VARCHAR(10) field)) for mysql_field_len() returns the byte length of the field not the defined size.
(PHP 4, PHP 5)
mysql_fetch_lengths — Liefert die Längen aller Felder aus einem Ergebnis
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
Gibt ein Array zurück, das die Länge eines jeden Feldes in dem zuletzt von MySQL geholten Datensatz enthält.
mysql_fetch_lengths() speichert die Länge jeder Ergebnisspalte in der letzten Ergebniszeile, erhalten von mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() und mysql_fetch_object() in einem Array, dessen Offset bei 0 beginnt.
result
Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().
Gibt bei Erfolg ein array mit Längenwerten zurück.
Bei einem Fehler wird false
zurückgegeben.
Beispiel #1 Ein mysql_fetch_lengths()-Beispiel
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Konnte die Abfrage nicht ausführen: ' . mysql_error();
exit;
}
$row = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);
print_r($row);
print_r($lengths);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Array ( [id] => 42 [email] => user@example.com ) Array ( [0] => 2 [1] => 16 )
In case of UTF8 fields mysql_field_len() will return 3 times the maximum length (e.g. 30 for a VARCHAR(10) field)) for mysql_field_len() returns the byte length of the field not the defined size.