2
PHP + PDO + MySQL:MySQLから整数列と数値列をPHPの整数と数値として返すにはどうすればよいですか?
Stack Overflowでこの質問が数回繰り返されているのを見たことがありますが、問題を十分に調査するものはありません(または、少なくとも私に役立つ方法で) 問題は、DBクエリが整数列に対してPHPで整数データ型を返す必要があることです。代わりに、クエリはすべての列を文字列型として返します。 「PDO :: ATTR_STRINGIFY_FETCHES」の場合は、 結果が文字列にキャストされていないことを確認するために falseのを確認しました。 私が見た答え: できません いいえ、Mac OSXでインストールされたPHP / MySQLで動作します コード内のすべての値を型キャストします いいえ、私はそれをしません 心配しないでください、PHPは大まかに型付けされています 私のデータはJSONとして出力され、他の多くのサービスによって消費されます。正しい形式のデータが必要なものもあります。 私の調査から、これはドライバーの実装の問題であることがわかりました。 多くの情報源は、MySQLネイティブドライバーが数値型を返すことをサポートしていないと主張しています。Mac OS Xで動作するため、これは当てはまらないようです。「Linux上のMySQLネイティブドライバはこの機能をサポートしていない」と言わない限り。 これは、Mac OS Xにインストールしたドライバー/環境に何か特別なものがあることを意味します。修正を適用するために違いを特定しようとしていますが、これらを確認する方法の知識に制限があります。 違い: OS X上のPHPは、HomeBrewを介してコンパイルおよびインストールされました。 Ubuntu上のPHPは、「apt-getinstallphp5-dev」を介してインストールされました OS X上のPHPは、OSX上でも実行されているMySQLサーバーに接続しています サーバーバージョン:5.1.71-ログソース配布 Ubuntu上のPHPはRackspaceクラウドデータベースに接続しています サーバーバージョン:5.1.66-0 + squeeze1(Debian) Ubuntu環境 バージョン:10.04.1 PHP 5.4.21-1 + debphp.org〜lucid + 1(cli)(ビルド:2013年10月21日08:14:37) php -i pdo_mysql MySQL用PDOドライバー=>有効なクライアントAPIバージョン=> 5.1.72 Mac …