MySQLのint型カラムよりPDOのfetch()で取得した変数の型がintではなくstringになるのですが、なぜでしょうか?
miyabi-sun, yodelが👍を押しています
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
6
ベストアンサー
PDO の中のドライバや使用されるプロトコルによって異なります。下記スライドが詳しいです。
テキストプロトコルが使用される場合(=非プリペアドステートメント、または、プリペアドステートでもPDOによるエミュレーションが有効)は、もともと MySQL から文字列で結果が返ってきているため PHP 側でも文字列になります。
投稿2016/03/02 04:06
総合スコア4516
1
全値が文字列型になるのは仕様なので、明示的にbindすればいいんじゃないですかね。
投稿2016/03/02 03:35
編集2016/03/02 03:38総合スコア767
1
投稿2016/03/02 03:33
編集2016/03/02 04:40
退会済みユーザー
総合スコア0
ogaaaanが👍を押しています
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/02 03:36
参考URLは逆ですね。
クエリ文字列の数値が勝手にシングルクォートが補われてしまい、
暗黙の型変換によるパフォーマンス低下に関する記事です。

退会済みユーザー
2016/03/02 04:41
ありがとうございます!
part2の記事を貼ろうとして間違えていました。
修正させていただきました
回答ありがとうございました

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/03 02:39
2016/03/03 02:48 編集
2016/03/03 12:53