mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_fields -- mysqli_fetch_fieldsReturns an array of objects representing the fields in a result set

Beschreibung

Objektorientierter Stil

public mysqli_result::fetch_fields(): array

Prozeduraler Stil

mysqli_fetch_fields(mysqli_result $result): array

This function serves an identical purpose to the mysqli_fetch_field() function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result(), mysqli_use_result() oder mysqli_stmt_get_result() zurückgegebenes mysqli_result-Objekt.

Rückgabewerte

Returns an array of objects containing field definition information.

Object properties
Property Description
name The name of the column
orgname Original column name if an alias was specified
table The name of the table this field belongs to (if not calculated)
orgtable Original table name if an alias was specified
max_length The maximum width of the field for the result set.
length The width of the field, in bytes, as specified in the table definition. Note that this number (bytes) might differ from your table definition value (characters), depending on the character set you use. For example, the character set utf8 has 3 bytes per character, so varchar(10) will return a length of 30 for utf8 (10*3), but return 10 for latin1 (10*1).
charsetnr The character set number (id) for the field.
flags An integer representing the bit-flags for the field.
type The data type used for this field
decimals The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli 
= new mysqli("127.0.0.1""root""foofoo""sakila");

/* check connection */
if ($mysqli->connect_errno) {
    
printf("Connect failed: %s\n"$mysqli->connect_error);
    exit();
}

foreach (array(
'latin1''utf8') as $charset) {

    
// Set character set, to show its impact on some values (e.g., length in bytes)
    
$mysqli->set_charset($charset);

    
$query "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo 
"======================\n";
    echo 
"Character Set: $charset\n";
    echo 
"======================\n";
    
    if (
$result $mysqli->query($query)) {

        
/* Get field information for all columns */
        
$finfo $result->fetch_fields();

        foreach (
$finfo as $val) {
            
printf("Name:      %s\n",   $val->name);
            
printf("Table:     %s\n",   $val->table);
            
printf("Max. Len:  %d\n",   $val->max_length);
            
printf("Length:    %d\n",   $val->length);
            
printf("charsetnr: %d\n",   $val->charsetnr);
            
printf("Flags:     %d\n",   $val->flags);
            
printf("Type:      %d\n\n"$val->type);
        }
        
$result->free();
    }
}
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link 
mysqli_connect("127.0.0.1""my_user""my_password""sakila");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

foreach (array(
'latin1''utf8') as $charset) {

    
// Set character set, to show its impact on some values (e.g., length in bytes)
    
mysqli_set_charset($link$charset);

    
$query "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo 
"======================\n";
    echo 
"Character Set: $charset\n";
    echo 
"======================\n";

    if (
$result mysqli_query($link$query)) {

        
/* Get field information for all columns */
        
$finfo mysqli_fetch_fields($result);

        foreach (
$finfo as $val) {
            
printf("Name:      %s\n",   $val->name);
            
printf("Table:     %s\n",   $val->table);
            
printf("Max. Len:  %d\n",   $val->max_length);
            
printf("Length:    %d\n",   $val->length);
            
printf("charsetnr: %d\n",   $val->charsetnr);
            
printf("Flags:     %d\n",   $val->flags);
            
printf("Type:      %d\n\n"$val->type);
        }
        
mysqli_free_result($result);
    }
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

======================
Character Set: latin1
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    45
charsetnr: 8
Flags:     20489
Type:      253

======================
Character Set: utf8
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    135
charsetnr: 33
Flags:     20489

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

How to overcome Safari's iframe cookie block?

To overcome Safari's iframe cookie block, you can use the SameSite=None; Secure cookie attribute in conjunction with a third-party domain that sup ...

Geschrieben von Joniemartinez am 21.12.2024 13:28:24
Forum: HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
Probleme mit speichern in Datenbank in französisch

Les erreurs fréquentes lors de l'enregistrement de données dans une base de données incluent des problèmes de connexion, des erreurs de syntax ...

Geschrieben von Alice12 am 18.12.2024 05:07:21
Forum: PHP Developer Forum
Gibt es eine API zum Abrufen von PHP-Code-Referenzen?

PHP.net bietet eine umfassende Online-Dokumentation für PHP. Es gibt keine offizielle API zum Abrufen von PHP-Dokumentationen direkt, aber du kan ...

Geschrieben von Alice12 am 18.12.2024 05:03:27
Forum: PHP Developer Forum
Ein data POST via Curl funktioniert nicht.

It looks like your PHP cURL request isn't working because you're not properly setting the CURLOPT_CUSTOMREQUEST option; it should be a string, so ...

Geschrieben von noah1600 am 16.12.2024 04:16:13
Forum: PHP Developer Forum