問題タブ [mdb2]
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.
php - MDB2 と MySQLi を併用する (良いか悪いか?)
データベースの抽象化に PEAR MDB2 パッケージを必要とする PEAR Mail_queue パッケージを使用したいと考えています。
私は現在、すべてのデータベース クエリに MySQLi を使用していますが、MDB2 の使用はあまり望んでいません。
PHP アプリケーションで MDB2 と MySQLi の両方を同時に使用するのは悪い習慣でしょうか?
MySQLi よりも MDB2 を一緒に使用する正当な理由を誰か教えてもらえますか?
ありがとう。
php - MDB2 と SQL Express 2008
だから基本的にここに私の問題があります。データベース抽象化レイヤーとして MDB2 を使用しながら、SQL Express 2008 に接続できるソリューションを探しています。このようなものが必要なのは、主に MySQL と Postgres を使用できるようにする必要があるためです (現時点では ORM はオプションではないようです)。
できれば、PHP5.2 と PHP5.3 の両方で機能するソリューションが必要です。
最初は、php_mysql 拡張機能の道をたどりましたが、PHP 5.3 では利用できないようです。
php_pdo_mssql は MDB2 で使用できないようで、それはアウトのようです。
最後に、MS が開発した「SQLSRV」拡張機能があります。ある時点で MDB2 の「拡張機能」に取り組んでいるように見えますが、メイン ブランチには含まれていないようです。
お願いします...誰か私に解決策はありますか?
mysql - MDB2、梨、Mysql エラー
PEAR、MDB2、Mysql Driver がインストールされていますが、次のようになります。
サーバーはCentOSです
私は立ち往生しています、どんな助けも感謝します。
ありがとう :)
php - SQL Server での Pear MDB2 クラスと raiserror 例外
SQL Server では、raiserror() でエラーを発生させることができます。接続を中断しない重大度を使用したい。このエラーは、ストアド プロシージャで発生します。SQL Management Studio ではすべて問題なく、この SP を実行するとエラー コードが表示されます。しかし、PHP5 で MDB2 経由でこの SP を実行しようとすると、これは機能しません。私が得るのは空の配列だけです。
MDB2 オブジェクトは次の方法で作成されます (必要なオプションを含む):
次のように動作します (PEAR エラーが発生します)。
しかし、このエラーを発生させるストアドプロシージャを呼び出すと、
出力はありません。どうしたの?
php - MDB2 を pdo 経由で sqlite3 と連携させる
MDB2_Driver_pdoSqliteを使用して、PEAR で sqlite3 データベースにアクセスしています。データベースに接続して でテーブルのリストを表示することはできますlistTables()
が、mdb2 関数tableInfo()
を実行しようとするとエラーが発生します。MDB2 Error: not found
[Error message: primary is not an existing table constraint]
次のシステムを実行しています。
- macOS 10.5.8
- PHP 5.3.0
- sqlite 3.6.23.1
- MDB2 2.5.0b2
- MDB2 PDO SQLite3 ドライバー v1
このエラーの原因と修正方法について何か考えはありますか?
installation - MDB2 pear Windows インストール
システムに MDB2 pear をインストールして使用するためのガイドを探しています。iss7とwindows vistaを使っています。
php - MDB2自動準備の問題
Webサイトにmdb2を使用していますが、問題が発生しました。テーブルに、LAST_INSERT_ID()+ 1のようなデフォルト値を設定したいorder_noフィールドがあります。mdb2->autoExecuteのこの種のmysql関数に設定できるデータ型はありますか?
ありがとうございました。
php - 継承する代わりにカプセル化するようにクラスを変更する
私が手渡されたコードベースは、MDB2から継承するデータベースクラスを備えています。これは、使用中のMVCフレームワーク(カスタムビルドの問題)の基礎を形成し、モデルはdbから継承します。
お気づきの方もいらっしゃると思いますが、これはかなり大きな問題につながります。モデルをインスタンス化するたびに、新しいデータベース接続が作成されます。これは明らかにかなり無駄です。また、モデルの1つのインスタンスでトランザクションが開始された場合、コミットが発生するまでその影響は他のインスタンスには表示されないため、意図したとおりにトランザクションを使用できないことも意味します。
私の計画は、dbクラスを変更してMDB2を継承するのではなくカプセル化し、シングルトン機能を介してMDB2の単一インスタンスを維持することです。
ただし、MDB2は多くのメソッドを備えた大きなライブラリであり、コードベースの上位にある多くのものは、MDB2メソッドにアクセスできるかどうかに依存します。
MDB2クラスをカプセル化し、上位層を変更せずに、またMDB2のすべてのメソッドのラッパーメソッドを作成せずに、MDB2クラスに呼び出しを渡す方法はありますか?
php - 文字エンコードの問題:MySQL 5.0 + PHP 5.2
utf8_general_civarcharフィールドを含むInnoDBテーブルを持つMySQLデータベースがあります。PHPを介して(PEAR :: MDB2を介して)それらをフェッチし、(Smartyを介して)出力しようとすると、??? シンボル。PHPが原因である可能性が最も高いその問題を修正する方法を知りたいです。
知っておくべき良い情報:
- これは私が取り組んでいるサイトの新しいバージョンです。SmartyもMDB2も使用していなくても、古いバージョンでも同じ問題が発生したため、原因ではない可能性があります。古いプログラマーは問題を解決するためにhtmlentities()を使用しましたが、私はそれを避けようとしています。
- すべてのファイル(テンプレート、ソースなど)の文字エンコードは、BOMなしのUTF-8です。
- ページを表示すると、すべてのアクセント付き文字(MySQLからのものではなく、テンプレート内の文字)が正しく表示され、ブラウザーのエンコードはUTF-8です。手動でISO-8859-1に切り替えると、MySQLの文字は正しく出力されますが、他の文字は出力されません。
基本的に、PHPまたはMySQLは、データベース内に含まれるUTF-8データをクエリ/フェッチプロセス中のある時点でISO-8859-1に変換するようです。これを修正したいと思います。
私はたくさんの検索をしましたが、解決策が見つかりませんでした。問題がどこかの設定にあることを願っています。htmlentities()またはutf8_encode()を使用する必要はありませんが、PHP6が表示されるまではそれが唯一の方法である可能性があります。
ご意見ありがとうございます!