問題タブ [mysqlnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
3008 参照

php - MySQL からの値が PHP で型を保持していることを確認するにはどうすればよいですか?

intデータベースでおよびとしてマークされているにもかかわらず、MySQL から呼び出された値が文字列として返されるという PHP スクリプトで問題が発生していますtinyint

これは、MySQL の日付に基づく配列を JSON データに変換するときに、整数であるべき値が二重引用符で囲まれているため、その JSON データを使用する Javascript と iPhone アプリの両方で問題を引き起こしているためです。"key" : "1"のように見える JSON 値を取得しています"key" : 1

いくつかの調査を行った後、PHP 5.3 とモジュールがインストールされている限り、値をネイティブ型として取得できるようです。mysqlnd私は 5.3.3 を持っており、モジュールをインストールして実行しphpinfo()ていることを示しているようです:mysqlnd

ただし、私の値はまだ文字列として返されています。

mysqlndの PHP マニュアル エントリを見てきましたが、明らかなものが欠けている可能性は常にありますが、ネイティブ値を取得するためにコードで特定のことを行う必要があることを示すものは何も表示されません。

PHP で MySQL 関数を取得して、MySQL の結果をネイティブ型で取得するにはどうすればよいですか?


以下の回答を容易にするために、これはデータベースへの接続に使用するコマンドです。

0 投票する
1 に答える
220 参照

php - クエリ メソッドが機能しない - mysqlnd ドライバーが見つからない

サーバーに mysqlnd ドライバーがないため、クエリ クラスがクライアントの新しいサーバーで動作しません。メソッドを mysqlnd を使用せず、すべてのクラスを台無しにしないように変換するにはどうすればよいですか?

0 投票する
0 に答える
7133 参照

php - mysqlnd: MySQL 5.5.24 に接続できません。old_passwords がオフになっています

私は2つの環境を持っています:

  • 開発: Windows 7、PHP 5.3.24、Apache 2.2.24
  • プロダクション: Linux、PHP 5.4.10、Apache

どちらもリモートMySQL 5.5.24サーバーに接続します。リモート接続が許可されます。

すべての mysql 関数を に置き換えましたmysqli。本番環境では問題なく接続できますが、開発環境では次のエラーが発生します。

MySQL が 4.1ではなく 5.5.24 であり、old_passwords設定されているという奇妙なことOff。ユーザーのパスワードも変更しました(ホスティングパネルから、MySQL自体でそれを行う管理者権限がありません)。

新しいバージョンの PHP (5.4.15) を試してみましたが、問題は解決しません。

私が読んだすべての参照は、古いMySQLサーバー(この場合ではありません)、old_passwordの問題(本番環境で問題なく接続するため、この場合ではありません)を指しています。

アップデート:

古いmysql関数も機能しません。mysql を mysqli に変更する前は、PHP 5.2.* バージョンを使用していましたが、動作しました。したがって、問題は bundled に関係しているとほぼ確信していmysqlndます。

0 投票する
2 に答える
3617 参照

php - mysqlnd を使用して PHP 5.5 で 5 を超える mysql を適切に検出する

私のアプリケーションは、次のコードを使用して、5 以上の mysql を検出しています。これは、PHP 5.2、5.3、および 5.4 でうまく機能します。

問題は、デフォルトで mysqlnd を使用する PHP 5.5 にあるため、スクリプトは mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $ を報告し、MySQL を適切に検出できません。そのようなバージョンの例外を作成する必要がありますが、方法がわかりません。

0 投票する
1 に答える
966 参照

php - mysqlnd が MySQL 5.5 サーバーに接続できない

PHP 5.3.10 を実行している開発サーバーで現在実行されているローカルで実行されているサイトを取得しようとしています。バージョン 5.5 の MySQL サーバーに接続しますが、にold_passwords設定されていONます。

サイトは開発サーバー上で動作します。

私のローカルでは、PHP 5.3.26 を実行しています。接続しようとすると、次のようになります。

これは old_password 変数の問題であることは理解していますが、これは PHP 5.3 の開発サーバーで実行されています。

編集:これが私のローカルmysqlセクションですphpinfo()mysql phpinfo

開発サーバーの mysql セクション: mysql phpinfo

開発サーバーと一致するようにローカルを設定するにはどうすればよいですか?