Zunächst ist mir bewusst, dass es verschiedene ähnliche Fragen zu SO gibt, wie zum Beispiel dies und das . Beim Abrufen von Werten aus einer Tabelle werden Ganzzahlen jedoch immer als Zeichenfolge abgerufen.
Ich benutze PHP5.4 (5.4.16-1 ~ dotdeb.1) und MYSQL5.5 (5.5.31 + dfsg-0 + wheezy1). Es ist hier geschrieben, dass MySQL Native Driver in PHP5.4.0 standardmäßig aktiviert ist. Aber ich bekomme immer noch String-Werte.
Ich initialisiere ein PDO-Objekt wie folgt.
%Vor% Beim Einfügen habe ich versucht, execute(array(...))
format zu verwenden und bindValue(...,PDO::PARAM_INT)
, aber sie haben keinen Unterschied gemacht.
Zum Beispiel, hier ist, wie ich eine neue Zeile einfügen.
%Vor%Hier erfasse ich Zeilen aus einer Tabelle
%Vor%Dies trat nicht auf, als ich XAMPP für Linux 1.8.1 getestet habe, welches PHP5.4.7 verwendet. Ich benutze derzeit nginx anstelle von Apache.
Was ist los?
Um ganze Zahlen und Gleitkommazahlen mit den entsprechenden Typen von mysql mit PDO zu erhalten, müssen sowohl mysqlnd-basiertes PDO-mysql als auch Emulationsmodus deaktiviert sein.