Heim >Datenbank >MySQL-Tutorial >Wie kann ich sicherstellen, dass ganzzahlige und numerische MySQL-Spalten in PHP als korrekter Datentyp zurückgegeben werden?
Ganzzahlen und Zahlen von MySQL als Ganzzahlen und Zahlen in PHP zurückgeben
Viele Entwickler stoßen auf das Problem, dass MySQL-Abfragen ganzzahlige und numerische Spalten als zurückgeben Zeichenfolgen in PHP. Dies liegt am Standardverhalten des nativen MySQL-Treibers, der die Rückgabe numerischer Typen nicht unterstützt.
Die Lösung: Verwendung des mysqlnd-Treibers
Die Lösung ist um den mysqlnd-Treiber für PHP zu verwenden. Der mysqlnd-Treiber ist ein modernerer und funktionsreicherer Treiber, der die Möglichkeit bietet, numerische Spalten als Ganzzahlen und Zahlen zurückzugeben.
Erkennen, ob Sie mysqlnd verwenden
Um zu überprüfen, ob Sie den mysqlnd-Treiber verwenden, öffnen Sie die Seite „PHP-Informationen“ (php -i) und sehen Sie im Abschnitt „PDO-Treiber für MySQL“ nach. Wenn dort „mysqlnd“ erwähnt wird, verwenden Sie den mysqlnd-Treiber. Andernfalls verwenden Sie höchstwahrscheinlich den nativen MySQL-Treiber.
Installieren von mysqlnd unter Ubuntu
Um den mysqlnd-Treiber unter Ubuntu zu installieren, können Sie den Befehl verwenden:
sudo apt-get install php5-mysqlnd
Apache neu starten
Nach der Installation des mysqlnd-Treiber müssen Sie Apache neu starten, damit die Änderungen wirksam werden.
Überprüfen des Treibers
Sobald Apache neu gestartet wurde, können Sie erneut überprüfen, ob der mysqlnd Der Treiber wird verwendet, indem Sie die PHP-Informationsseite (php -i) öffnen. Im Abschnitt „PDO-Treiber für MySQL“ sollte nun „mysqlnd“ explizit erwähnt werden.
PDO-Einstellungen
Stellen Sie sicher, dass die folgenden PDO-Einstellungen auf „false“ gesetzt sind Vermeiden Sie potenzielle Probleme:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
Zurückgegeben Werte
Abhängig vom Datenbanktyp werden verschiedene Datentypen wie folgt zurückgegeben:
Das obige ist der detaillierte Inhalt vonWie kann ich sicherstellen, dass ganzzahlige und numerische MySQL-Spalten in PHP als korrekter Datentyp zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!