Heim >Datenbank >MySQL-Tutorial >Warum wird mein MySQL-Ganzzahlfeld in PHP als String zurückgegeben?

Warum wird mein MySQL-Ganzzahlfeld in PHP als String zurückgegeben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 10:47:25698Durchsuche

Why Is My MySQL Integer Field Returned as a String in PHP?

MySQL-Ganzzahlfeld wird in PHP als String zurückgegeben

Dieses Problem tritt beim Abrufen von Daten aus einer MySQL-Datenbank mit PHP auf. Unabhängig vom in der Datenbank definierten Datentyp werden Daten in PHP standardmäßig immer als String zurückgegeben. Diese Diskrepanz kann rätselhaft sein, insbesondere wenn man erwartet, dass sich ein Integer-Feld so verhält.

In Ihrem speziellen Fall werden die Daten mit der als INT(11) deklarierten Datenbankfeld-Benutzer-ID mit der Abfrage abgerufen:

"SELECT userid FROM DB WHERE name='john'"

Um das Ergebnis zu verarbeiten, verwenden Sie:

$row=$result->fetch_assoc();
$id=$row['userid'];

Allerdings, wenn Sie den Datentyp von $id mit echo überprüfen gettype($id); gibt „string“ anstelle von „integer“ zurück.

Lösung

Um dieses Problem zu beheben, stellt PHP Methoden zum Konvertieren der abgerufenen Zeichenfolge bereit Daten zurück in ein Ganzzahlformat. Sie können den folgenden Code verwenden:

$id = (int) $row['userid'];

Alternativ können Sie auch die Funktion intval() verwenden:

$id = intval($row['userid']);

Durch die Durchführung dieser Konvertierung stellen Sie sicher, dass die Variable $id vorhanden ist korrekt als ganzzahliger Datentyp erkannt, was eine entsprechende Behandlung und Operationen als Ganzzahl ermöglicht.

Das obige ist der detaillierte Inhalt vonWarum wird mein MySQL-Ganzzahlfeld in PHP als String zurückgegeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn