ホームページ >データベース >mysql チュートリアル >MySQL の整数列と数値列が PHP で正しいデータ型として返されることを確認するにはどうすればよいですか?

MySQL の整数列と数値列が PHP で正しいデータ型として返されることを確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-05 19:56:19747ブラウズ

How Can I Ensure MySQL Integer and Numeric Columns Return as the Correct Data Type in PHP?

MySQL から整数と数値を PHP の整数と数値として返す

多くの開発者は、MySQL クエリが整数と数値の列を返すという問題に遭遇しています。 PHPの文字列。これは、数値型を返すことをサポートしていない、ネイティブ MySQL ドライバーのデフォルトの動作によるものです。

解決策: mysqlnd ドライバーを使用する

解決策は次のとおりです。 PHP 用の mysqlnd ドライバーを使用します。 mysqlnd ドライバーは、数値列を整数および数値として返す機能を提供する、より最新の機能が豊富なドライバーです。

mysqlnd を使用しているかどうかの確認

mysqlnd ドライバーを使用しているかどうかを確認するには、PHP 情報 (php -i) ページを開いて、 「MySQL 用 PDO ドライバー」セクション。そこに「mysqlnd」と記載されている場合は、mysqlnd ドライバーを使用していることになります。それ以外の場合は、ネイティブ MySQL ドライバーを使用している可能性が高くなります。

Ubuntu への mysqlnd のインストール

Ubuntu に mysqlnd ドライバーをインストールするには、次のコマンドを使用できます。

sudo apt-get install php5-mysqlnd

再起動中Apache

mysqlnd ドライバーをインストールした後、変更を有効にするために Apache を再起動する必要があります。

ドライバーの確認

Apache が再起動したら、PHP 情報を開いて、mysqlnd ドライバーが使用されているかどうかを再度確認できます。ページ (php -i)。 「PDO Driver for MySQL」セクションに「mysqlnd」が明示的に記載されているはずです。

PDO 設定

次の PDO 設定が false に設定されていることを確認してください。潜在的な問題を防ぐ:

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);

返されました値

データベースの種類に応じて、次のようにさまざまな種類のデータが返されます。

  • 浮動小数点型 (FLOAT、DOUBLE) は PHP float として返されます。
  • 整数型 (INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、 BIGINT) は PHP 整数として返されます。
  • 固定小数点型 (DECIMAL、NUMERIC) は文字列として返されます。
  • 9223372036854775807 より大きい値を持つ BIGINT (64 ビット システムの場合) は返されます文字列として。

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

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