PDO と MySQL: 数値の取得
PDO と MySQL を使用する場合、データベースから取得した整数値が次の値になる場合があります。数値型ではなく文字列として返されます。この問題に対処するには、PDO プリペアド ステートメント エミュレーションを無効にすることが重要です。
これを行うには:
$pdo = new PDO($dsn, $user, $password, [ PDO::ATTR_EMULATE_PREPARES => false, ]);
エミュレーションを無効にすることにより、PDO はプリペアド ステートメントのネイティブ データ型を利用します。これにより、整数値が数値型として返されるようになります。
PDO::ATTR_STRINGIFY_FETCHES 属性は MySQL には関係ないことに注意してください。
この不便さにもかかわらず、プリペアド ステートメントを使用することを強くお勧めします。セキュリティとパフォーマンスが向上します。
以上がMySQL の整数が PDO で文字列として返されるのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。