PDO gibt Integer-Spalten als String in PHP5.4 zurück

9

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?

    
CookieMonster 20.06.2013, 11:55
quelle

1 Antwort

2

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.

    
Your Common Sense 20.06.2013, 12:17
quelle

Tags und Links