MySQL から PHP の型として整数と数値を返す
PDO::ATTR_STRINGIFY_FETCHES を false に設定しているにもかかわらず、数値列が整数や数値ではなく文字列として返されます。この動作は、ドライバーの実装の問題に起因することがよくあります。
mysqlnd の違い
この問題を解決する鍵は、mysqlnd を確実に利用していることです。 PHP 用の ドライバー。 php -i を表示すると、pdo_mysql セクションに「mysqlnd」がない場合、ネイティブ ドライバーが代わりに使用されていることを示します。
mysqlnd のインストール
Ubuntu では、インストールします。 php5-mysql の代わりに php5-mysqlnd。移行を確実に成功させるには、次の手順に従ってください:
- 古いドライバーを削除します: apt-get delete php5-mysql
- 新しいドライバーをインストールします: apt-get install php5-mysqlnd
- Apache を再起動します: service apache2 restart
mysqlnd の検証
php5-mysqlnd をインストールすると、php -i は pdo_mysql セクションで「mysqlnd」を明示的に言及する必要があります。
PDO設定
データが適切に処理されるように次の PDO 属性を設定します:
- PDO::ATTR_EMULATE_PREPARES: false
- PDO::ATTR_STRINGIFY_FETCHES: false
戻り値
正しいドライバーと設定を使用すると、数値列が適切な PHP タイプとして返されます:
- 浮動小数点型 (FLOAT、DOUBLE): PHP floats
- 整数型 (INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT): PHP 整数
- 固定小数点型 (DECIMAL、NUMERIC): 文字列
(注: BIGINT は超過64 ビットの signed int は 64 ビットの文字列として返されます。 )
たとえば、次のデータ:
+-----------+-----------+----------+-------------+--------------+ | integer_col | double_col | float_col | decimal_col | bigint_col | +-----------+-----------+----------+-------------+--------------+ | 1 | 1.55 | 1.5 | 1.20 | 18446744073709551615 | +-----------+-----------+----------+-------------+--------------+
は次のように返されます:
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 サイトの他の関連記事を参照してください。

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック



