ホームページ >データベース >mysql チュートリアル >MySQL の整数が PDO で文字列として返されるのはなぜですか? それを修正するにはどうすればよいですか?

MySQL の整数が PDO で文字列として返されるのはなぜですか? それを修正するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 09:14:10893ブラウズ

Why Are My MySQL Integers Returned as Strings in PDO, and How Can I Fix It?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。