ホームページ バックエンド開発 PHPチュートリアル Access データベースへの PHP 接続のエラーと解決策_PHP チュートリアル

Access データベースへの PHP 接続のエラーと解決策_PHP チュートリアル

Jul 21, 2016 pm 03:04 PM
access php 1つ データベース 方法 方法 使用 解決する 接続する 間違い

php+access を使用してデータベースに接続するには、一般的に 2 つの方法があります

推奨コード

php はパスを取得するために realpath を使用することに注意してください

コードをコピーします コードは次のとおりです。

$ connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb");
$connid=odbc_connect($connstr,"", "",SQL_CUR_USE_ODBC);
$issuetime =date("Y-m-d H:i:s");
$sql="テスト値に挿入("","",...)"; $connid,$sql);
if ($result) echo "成功";
else echo "失敗";> ADO 接続
$conn = @new COM("ADODB.Connection") または die ("ADO 接続")失敗しました!");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" .realpath ("temp/TempData.mdb");
$conn->Open($connstr);

//レコードセットクエリを作成します
$rs = @new COM("ADODB.RecordSet")
$rs-> ;Open("select * from blog_Content",$conn,1,3); ->Fields["log_Title"]->Value; //log_Title フィールドを出力します
echo "
"; //レコードセットポインタを下に移動します
echo $rs->Fields["log_Title"]->Value ? 以下は補足です。 1. odbc ドライバーを作成し、PHP の odbc_connect() 関数を使用して接続します。

例:



コードをコピーします

コードは次のとおりです:


$connstr=DRIVER={DBQ=".$db;
$connid=odbc_connect ($connstr," ユーザー名","パスワード",SQL_CUR_USE_ODBC);



2. oledb を使用して接続し、open メソッドを呼び出して
を開きます。例:


コードをコピーします

コードは次のとおりです:

$conn=new com("ADODB.connection");$connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" .$db; $conn->Open($connstr);

しかし、どの方法で接続してもエラーが発生します。 ネットで情報を調べてみると、Everyone の権限が付与されていないという意見や、access97 と access2000 のドライバが異なるという意見もありました。データベースは 2000 年に構築され、読み取りに使用されたドライバーは 97 でした。) が原因です。

テストを繰り返した結果、これはデータベースのパスが原因であることが判明しました。以前はASPを開発するときに、データベースのアドレスを相対パスで記述し、server.mappath()を使用していました。絶対パスを取得する関数
この習慣は、PHP の開発時にも継続され、realpath とデータベースの相対パスを使用してデータベースのアドレスを取得しました。例: $db=realpath("../db.mdb");


ただし、asp の include 関数と php の include 関数は、インクルードされたファイルの処理方法が異なるようで、php がデータベースに接続するために異なるディレクトリに conn.php ファイルをインクルードすると、「一般的なエラーでレジストリ キーワードを開けません」が発生します。

または、メッセージ「ソース: ProviderDescription: 認証に失敗しました。」を含むキャッチされない例外「com_Exception」。 ' エラー

ここでエラーメッセージと解決策を整理して、皆さんに投稿します。この状況に遭遇した他の友達が私のように落ち込まないことを願っていますエラー 1
php接続アクセスデータベースに関するよくある質問




コードをコピー
コードは次のとおりです:

警告: odbc_connect() [

function.odbc-connect

]: SQL エラー: [Microsoft][ODBC Microsoft Access Driver]共通エラー レジストリ キーワードを開けません「プロセス 0xdd0 スレッド 0xcb8 DBC 0x14bd024 Jet の一時的 (揮発性) Jet DSN」。 、E:wwwrootphperz.comphpwebconn.phpの8行目のSQLConnectのSQL状態S1000

このエラーが発生した場合は、上記のデータベースに接続する最初の方法である odbc アクセス ドライバーを使用していることがわかります $connstr=DRIVER={Microsoft Access Driver (*.mdb)}; db;

現在アクセスしているファイルは、conn.php データベース接続ファイルと同じディレクトリにありません。conn.php をインクルードするときに使用される相対パス (include("../conn.php") など) は、PHP が原因です。 include 関数を処理するファイルは、asp のファイルとは異なります

データベース パスでエラーが発生しました、

解決策:

1. データベースのパスが realpath() 関数と相対パスを使用して取得されたかどうかを確認します。

例: $db=realpath("../db.mdb");

その場合は、$_SERVER['DOCUMENT_ROOT'] などの別の方法を使用してデータベース アドレスを取得してください。ウェブサイトにアクセスし、データベースアドレスを追加します

例: $db=$_SERVER['DOCUMENT_ROOT']."db.mdb";


2、権限を確認し、全員に権限を与えます

3. 接続方法を変更する Microsoft の odbc ドライバーには不安定なバグがあり、このようなエラーが発生する可能性があるため、Microsoft 自体が odbc データ ソース接続方法のサポートを放棄し、oledb 方法を使用することを推奨していると言われています。接続文字列を次のように変更します:

"プロバイダー=Microsoft.Jet.OLEDB.4.0;データ ソース=".$db;

エラー 2:

致命的エラー: キャッチされない例外 'com_Exception' とメッセージ 'ソース: ProviderDescription: 認証に失敗しました。 ' in E:wwwrootphperz.comphpwebconn.php:7 スタック トレース: #0 E:wwwrootphperz.comphpwebconn.php(7): com->Open('Provider=Micros...') #1 ...... ……

このエラーは、データベースへの接続に oledb を使用していることを意味し、データベースのパスによっても発生します。

解決策は上記と同じで、$_SERVER['DOCUMENT_ROOT']."db.mdb" メソッドを使用してデータベースアドレスを取得します

;

エラー 3:

コードをコピー コードは次のとおりです:
警告: odbc_connect() [
function.odbc-connect
]: SQL エラー: [Microsoft][ODBC Driver Manager] データ ソース名が見つかりません。 E:wwwrootphperz.comphpwebconn.php の 8 行目で、SQLConnect のデフォルト ドライバー、SQL 状態 IM002 を指定しました

odbc ドライバー経由で接続されたデータベースの場合、エラーは接続文字列が正しく書かれていないことが原因である可能性が高く、完全な接続文字列は次のようになります。

コードをコピーします コードは次のとおりです:
$db=$_SERVER['DOCUMENT_ROOT']."db.mdb";
$connstr="Driver={Microsoft Access Driver (*.mdb) )};Dbq =$db;Uid=Admin;Pwd=pass";
$connid=odbc_connect($connstr,"admin","pass",SQL_CUR_USE_ODBC) または die("データベースを開けませんでした!管理者に問い合わせてください");


データベースにパスワードがない場合、上記の Uid と Pwd は省略できます

コードをコピーします コードは次のとおりです:
$connstr="Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";
$connid=odbc_connect($connstr, ""," ",SQL_CUR_USE_ODBC) または die("データベースを開けませんでした! 管理者に連絡してください");


エラー 4:致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ 'ソース: ADODB.ConnectionDescription: プロバイダーが見つかりません。プログラムが正しくインストールされていない可能性があります。 '....................


oledb 接続メソッドで、エラーの理由は上記と同じです。完全な接続文字列は次のようになります:

コードをコピーします コードは次のとおりです:
$db=$_SERVER['DOCUMENT_ROOT']."db.mdb";
$conn=new com("ADODB.connection");
$connstr=" Provider=Microsoaft.Jet.OLEDB.4.0;データ ソース=".$db;
$conn->Open($connstr);


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

tru​​ehttp://www.bkjia.com/PHPjc/327736.html技術記事 php+access がデータベースに接続するには、通常 2 つの一般的な方法があります。推奨されるコードでは、php は次のように realpath を使用してコードをコピーします。 ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:データベースとサーバー側のロジックの処理 PHP:データベースとサーバー側のロジックの処理 Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

Apache用のZendを構成する方法 Apache用のZendを構成する方法 Apr 13, 2025 pm 12:57 PM

ApacheでZendを構成する方法は? Apache WebサーバーでZend Frameworkを構成する手順は次のとおりです。ZendFrameworkをインストールし、Webサーバーディレクトリに抽出します。 .htaccessファイルを作成します。 Zend Application Directoryを作成し、index.phpファイルを追加します。 Zend Application(Application.ini)を構成します。 Apache Webサーバーを再起動します。

See all articles