PHP mysqli_fetch_field Datentyp

7

Ich benötige Hilfe, um ein paar wichtige Informationen über die Informationen in der fetch_field-Methode eines mysqli-Ergebnisobjekts zu finden.

Speziell die Eigenschaft type - aus der Dokumentation es scheint, dass dieses Feld eine Ganzzahl zurückgibt ...

Großartig!

Ich kann einfach keine Tabelle finden, in der ich die Zahl in ihren jeweiligen Datentyp übersetzen kann. Ich bin nicht einmal sicher, ob ich nach php oder mysql spezifischen Informationen suche. Push come to shove Ich kann es selbst gestalten, aber mir wäre es viel lieber, wenn mich jemand auf die eigentliche Dokumentation verweisen könnte.

Was vermisse ich?

    
Crazy Joe Malloy 07.11.2009, 00:18
quelle

4 Antworten

11

Sie können diese Zahl mit verschiedenen vordefinierten Konstanten vergleichen, die hier aufgelistet sind:

Ссылка

z.B. MYSQLI_TYPE_SHORT

    
Ben James 07.11.2009, 00:23
quelle
7

Die PHP-Funktion mysqli_fetch_field() scheint direkt der MySQL C-API-Funktion zuzuordnen mysql_fetch_field() , die eine C-Struktur vom Typ MYSQL_FIELD zurückgibt, die in mysql.h definiert ist.

Das type -Feld der Struktur ist ein enum_field_types , das wie folgt definiert ist:

%Vor%     
Bill Karwin 07.11.2009 00:28
quelle
1

Zuerst möchte ich sagen, dass ich den 5-Jahres-Unterschied in dieser Antwort im Vergleich zur angenommenen Antwort erkenne.

Obwohl ich glaube, dass die akzeptierte Antwort die Menschen in die richtige Richtung weist und ich viele andere Antworten gefunden habe, die auf diesen Beitrag hinweisen, halte ich das nicht für eine solide Antwort auf die Frage, oder viele andere mögen es, speziell der Teil, der sagt: "Das lässt mich die Zahl in ihren jeweiligen Datentyp übersetzen".

Dafür habe ich versucht, ein paar Funktionen zurück zu holen, die php schon einmal für uns verwendet hat: mysqli_field_flags ($ result, $ field_offset) und mysqli_field_type ($ result, $ field_offset), obwohl mysqli_field_flags genau das zurückgibt die alten mysql_field_flags würden uns (meistens, lassen Sie mich wissen, wenn jemand etwas findet, das nicht genau wie das alte funktioniert, und wir können es hier aktualisieren, so dass alle Zugriff darauf erhalten können). Die zweite, mysqli_field_type, gibt nur die Typdaten für das Feld zurück, im Gegensatz zu mysql_field_type, die auch die Flags in derselben Zeichenfolge zurückgeben.

Beide können von hier aus gepackt werden, lassen Sie mich wissen, wenn beide Probleme haben. (Darüber hinaus kann ich nicht die volle Verantwortung für diese Antwort übernehmen, da der Kredit an andre geht Bei koethur dot de für das Kommentieren mit dem meisten von dem, was wir auf der php.net Website brauchen), habe ich gerade dieses direkte Bit hinzugefügt, um unsere Zahlen zu erhalten, und die Namen angepasst, um dem Schema der Dinge besser gerecht zu werden Da es für mysqli noch keine PHP-Funktionen mysqli_field_flags und mysqli_field_type gibt, funktionieren diese als perfekte Abwärtskompatibilitätsfunktionen.

WENN DIESE HELFEN SIE, BITTE WÄHLEN SIE OBEN SO ANDERS ERHALTEN SIE DIE NACHRICHT, WENN OP DAS BITTE LIEST DIESES ÄNDERN SIE DIE ANTWORT;)

PHP 5.5 mysql_field_type "Rückwärtskompatibilitätsfunktion", mysqli_field_type (beachten Sie das i)

%Vor%

PHP 5.5 mysql_field_flags "Abwärtskompatibilitätsfunktion", mysqli_field_flags (merke das i)

%Vor%     
NinjaKC 08.08.2014 10:24
quelle
0

Ich denke, das wird dir nur ein paar Flaggen geben; Nullable oder nicht etc.

Sie sollten besser die INFORMATION_SCHEMA.COLUMNS abfragen, um diese Art von Details zu erhalten.

    
Kris 07.11.2009 00:22
quelle

Tags und Links