ホームページ >バックエンド開発 >PHPチュートリアル >データベース関連の問題_PHP チュートリアル

データベース関連の問題_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:11:01749ブラウズ


データベース関連の問題
このセクションでは、PHP とデータベースの間の最も一般的な問題について説明します。現在市場にあるほぼすべてのデータベースを PHP で操作できると言っても過言ではありません。
1. PHP は Microsoft SQL Server を操作できると聞きました。どうすればよいですか?
2. PHP 4 にアップグレードすると、次のようにメッセージが表示されます。結果セットを ... に保存できません。何が起こっていますか?
4. 共有 mysql サポートをインストールした後、libphp4.so がロードされるとすぐに、Apache はコアをダンプします。この問題は修正できますか?
5. 常にエラーが発生する理由次のようなエラー メッセージ: 「警告: 0 は 行目の の MySQL 結果インデックスではありません」または「警告: の指定された引数は有効な MySQL 結果リソースではありません」 x>?
1. PHP は Microsoft SQL Server を操作できると聞きましたが、どうすればよいですか?
Windows プラットフォームでは、パッケージに含まれている ODBC ドライバーを使用するだけです。 Microsoft SQL Server を操作するための CT ドライバーは、そのプロトコル (少なくともほとんどの製品) に完全な互換性があるため、他の Unix システム用に Sybase に問い合わせて正しいライブラリ ファイルを入手する必要がある場合もあります。以下のいくつかの質問への回答を参照してください
2. Microsoft Access データベースを操作できますか? Windows 9x/Me または NT/2000 を使用していて、MS Access と通信したい場合は可能です。 Windows の場合は、Unix ODBC ドライバーが必要です。OpenLink ソフトウェアは、試用版 (有効期限が切れていない) をダウンロードできます。もう 1 つの方法は、Windows で SQL サーバーを使用することです。 ODBC ドライバーを使用してファイルを保存すると、Microsoft Access (ODBC) および PHP (組み込みの SQL Server ドライバー) を使用してこのライブラリを操作できます。または、オペレーティング システム ファイルや dBase データベースなど、Access と PHP の両方で開くことができる別のファイル形式を使用します。 OpenLink ソフトウェアの Tim Hayes は、これについて次のように書いています: PHP を使用して直接操作できるデータベースのミドルウェアとして別のライブラリを使用するのは得策ではありません。
-- たとえば、OpenLink のドライバーを使用してください。本当にミドルウェア ライブラリが必要な場合は、OpenLink が NT、Linux、およびその他の UNIX プラットフォームで実行できる Virtuoso (仮想データベース エンジン) をリリースしました
無料でダウンロードできる Web サイトを参照してください。


もう 1 つの成功例は、Windows で Mysql を使用して (mysql ODBC 経由で) Access データベースを同期することです:

Mysql の手順に従って、プラットフォームに Mysql をインストールします。 /www .mysql.com/ (最寄りのミラーから!) ユーザー アカウントを設定するには、ユーザーのホスト ドメインを「%」に設定する必要があります。サーバーを確認してください。名前、データベース名など。
Mysql Web サイトで Mysql ODBC ドライバーを探します。最新バージョンは myodbc-2_50_19-win95.zip (NT) である必要があります。 Windows マシンにインストールします。ツールキットのツールを使用して、インストールが成功したかどうかをテストできます。
ODBC マネージャー (コントロール パネル) でユーザーとシステム DSN を作成します。 DSN 名を作成し、ホスト名、ユーザー名 (mysql)、パスワード、ポート番号、および最初のステップで設定したその他のデータを入力します。
Access を完全にインストールします。この手順では、少なくとも接続されたデータベース テーブルを管理するために必要なツール ドライバーをインストールできます。
ここで、最も興味深いことが起こります。新しい Access データベースを作成します。 テーブル内を右クリックして「テーブルのリンク」を選択するか、「ファイル」メニューで「外部データの取得」を選択し、次に「テーブルのリンク」を選択します。ダイアログ ボックスが開いたら、ファイルの種類を選択します: ODBC システムを選択します。 DSN、ステップ 3 で作成した DSN 名。次に、リンクするテーブルを選択します。 「OK」を押すと、MySQL マネージャーでこのテーブルを開いて、データの追加/編集/削除を行うことができます。また、クエリの作成、テーブルの MySQL へのインポート/エクスポート、フォームやレポートの作成なども行うことができます。 :

Access テーブルを作成し、MySQL にエクスポートしたり、リンクし直すことができます。
Access でテーブルを作成するときは、主キーを設定する必要があります。 同様に、Mysql でアクセスに接続する場合も、主キーが必要です。
MySQL でテーブルを選択した場合は、>アドイン>リンク テーブル マネージャー

3 に移動する必要があります。PHP 4 にアップグレードすると、mysql が常に次のようにメッセージを表示します。 : 結果セットを ... に保存できません。何が起こっていますか?
これらの問題のほとんどは、PHP 4 のコンパイル オプション '--with-mysql' が Mysql へのパスを示していないことが原因です。 このようにして、PHP は組み込みの MySQL ライブラリを使用し、システムが Apache モジュールとして PHP 3 を使用するか、別のバージョンの MySQL ドライバーを使用する auth-mysql を使用するため、2 つの異なるバージョンの MySQL が存在します。クライアントドライバーで競合が発生します。
PHP 4 を再コンパイルし、Mysql パス情報を追加し、「--with-mysql=/your/path/to/mysql」で通常はこの問題を解決します。
4. 共有 mysql サポートをインストールした後、libphp4.so がロードされるとすぐに Apache がコアをダンプします。この問題は、Mysql が pthread を使用して接続されている場合に発生します。 lddを使用してください。 使用する場合は、MySQL tarball を取得して再コンパイルするか、ソース rpm からコンパイルして、関連ファイル内のスレッド クライアント コードを有効にするスイッチを削除します。上記の 2 つの方法でこのエラーを修正できない場合は、新しい Mysql をサポートするために新しい PHP ライブラリを再コンパイルします。
5. 「警告: 0 はオンラインの MySQL 結果インデックスではありません」または「警告: 指定された引数はオンラインの有効な MySQL 結果リソースではありません。」というエラー メッセージが常に表示されるのはなぜですか? set 変数の値は 0 です。0 は、クエリが何らかの理由で失敗したことを意味します。結果セットを取得する前に、送信されたクエリが失敗した理由を次のように確認する必要があります。 $result = mysql_query(" SELECT * FROM. _priv");
if (!$result) {
echo mysql_error();
exit;
}

or $result = mysql_query("SELECT * FROM tables_priv")
or die("不正なクエリ: ".mysql_error( ));



http://www.bkjia.com/PHPjc/314064.html

tru​​ehttp://www.bkjia.com/PHPjc/314064.html技術記事データベース関連の問題 このセクションでは、PHP とデータベースの間の最も一般的な問題について説明します。現在市場にあるほぼすべてのデータベースを PHP で操作できると言っても過言ではありません。 1. PHPが使えると聞いたのですが…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。