ホームページ >バックエンド開発 >PHPチュートリアル >PHP で MySQL から正しい整数および数値データ型を確実に取得するにはどうすればよいですか?

PHP で MySQL から正しい整数および数値データ型を確実に取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-24 15:01:121021ブラウズ

How to Ensure Correct Integer and Numeric Data Type Retrieval from MySQL in PHP?

MySQL から PHP で整数と数値を型付きデータとして取得する方法

MySQL クエリが文字列データ型を返す状況が発生する場合があります。 PHP の整数列と数値列の場合、 「PDO::ATTR_STRINGIFY_FETCHES」オプションを false に設定します。この不一致は、ドライバー実装の問題に起因します。

mysqlnd ドライバーの使用

解決策は、正しいドライバー、つまり mysqlnd ドライバーが使用されていることを確認することです。 「php -i」を表示すると、「pdo_mysql」セクションに「mysqlnd」が明示的に記載されていることがわかります。そこにない場合は、次の手順に従って Ubuntu にインストールします。

  1. ネイティブ MySQL ドライバーを削除します。

    apt-get remove php5-mysql
  2. mysqlnd をインストールします。 driver:

    apt-get install php5-mysqlnd
  3. Apache2 を再起動します:

    service apache2 restart

PDO 設定

PDO 設定が正しく設定されていることを確認します適切な:

  • PDO::ATTR_EMULATE_PREPARES は false である必要があります。
  • PDO::ATTR_STRINGIFY_FETCHES は false である必要があります。

戻り値の型

  • 浮動小数点型(FLOAT、DOUBLE) は PHP 浮動小数点として返されます。
  • 整数型 (INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT) は PHP 整数として返されます。
  • 固定小数点型 (DECIMAL) 、NUMERIC) は次のように返されます。 strings.

たとえば、次の返されたオブジェクトを考えてみましょう:

    object(stdClass)[915]
      public 'integer_col' => int 1
      public 'double_col' => float 1.55
      public 'float_col' => float 1.5
      public 'decimal_col' => string '1.20' (length=4)
      public 'bigint_col' => string '18446744073709551615' (length=20)

以上がPHP で MySQL から正しい整数および数値データ型を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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