PHP4とORACLE接続について

このQ&Aのポイント
  • PHP4とORACLEを接続し、指定したテーブルからデータを取得する方法について
  • PHP4とapacheの環境設定は終了しており、下記のソースを実行するとメモリがReadにエラーメッセージが表示される。
  • Oracleやその他の設定について詳しいサイトを探している。
回答を見る
  • ベストアンサー

PHP4とORACLE接続について

こんにちは。質問をさせてください。 過去レスで調べたのですが、わからない部分がいくつかあったので 改めてご質問させていただきます。 PHP4とORACLEを接続し、ただ指定したテーブルからデータを取得する のみの動作を行いたいと考えています。 PHP4とapacheの環境設定は終了しています。 下記のソースを実行するとメモリがReadに・・・というエラーメッセージが表示されます。 ----------sample.php-------------------- <?php /* Oracleに接続 */ $conn = OCILogon("***", "***", "***"); /* SQLの作成 */ $sql = "select * from sample_php_tbl"; /* SQLのparse */ $sql = OCIParse($conn, $sql); /* 実行 */ $ncols = OCIExecute($sql, OCI_DEFAULT); /* SELECT文ならFETCH */ While (OCIFetch($sql)) { $tmp = OCIResult($sql, "COLUMN_NAME"); } /* リソースの解放 */ OCIFreeStatement($sql); /* 切断 */ OCILogoff($conn); ?> -------------------------------------------------- Oracleやその他の設定がいまいち理解できません。 ご存知の方、この件に関して詳しいサイトをご存知の方 教えていただければ幸いです。 ご質問の内容がわかりづらいかもしれませんが、宜しくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • 653
  • ベストアンサー率50% (5/10)
回答No.1

php.iniファイルが問題だと思いますよ。 dllファイルをチェックしてみてください。

関連するQ&A

  • PHPとOracleの接続ができない

    ApacheとPHP5.1.5とOracle 10g XEを使用しています。 PHPのプログラムで、oracleへの接続を試みていますが、 undefined function OCILogon() というエラーが表示されてしまいます。 以下、今回の状態を記述します。 ・php.iniのextension=php_oci8.dllは「;」を外してあります。 ・php.iniのextension_dirもdllがある場所に設定しています。 ・phpinfoで、ociの項目が表示されない。 ・もちろん、php.iniの場所は合っていますし、変更後はapacheの再起動も行っています。 ・プログラムはネットで拝見したPHP5用のものなので、プログラムの間違いではないと思います。 原因が分かる方がいらっしゃいましたら、回答よろしくお願いします。

    • 締切済み
    • PHP
  • PHPとOracleの接続について

    oracle関数を使用したいのですが 『php.ini』の『extension=php_oci8.dll』を有効にして、ブラウザでPHPにアクセスしたら以下のような2つの警告が出ました。 1.プロシージャエントリポイントOCILobFreeTemporaryがダイナミックリンクライブラリOCI.dllから見つかりません。 2.Unknown():Unable to load dynamic library 'd:\php\extensions\php_oci8.dll'-指定されたプロシージャが見つかりません。 extension=php_oci8.dll』を無効にすればPHPは動きます。 環境は下記を使用しています。 NT:4.0 PHP:4.3.0 ORACLE:8.0.6 APACHE:1.3.27 ご存知の方はよろしくお願いいたします。

    • 締切済み
    • PHP
  • oci系関数について

    PHPでOracleに接続する場合、oci系関数を使うのですが、oci系以外の他の関数からでもオラクルが使えるのでしょうか? OCIExecuteはoci_execute()の別名ですが、なぜ別名を使う必要があるのですか? PHP4徹底には ociexecuteと_の無い名前だったのですが、いろいろありすぎて混乱します。何か背景でもあるのでしょうか。 PHPとoracleに特化した本をご存知の方、教えてください。 oracleは9,10で、phpは4,5です。

    • 締切済み
    • PHP
  • PHPにてoci8.dllが正常に関連付けされているかの確認

    php_oci8.dllを用いて、PHPでOracleの関数が使用出来るようにしたいのですが、 現在の設定で上手く動いているかの確認が出来ません。 ------------------ //DBへ接続開始 $conn = @oci_connect("△△△", "●●●", "○○○"); if (!$conn) { $e = oci_error(); echo htmlentities($e['message']); exit; } ------------------ 上記のような簡素な処理(DBに接続しにいき、失敗ならばエラーメッセージを表示) を組んで動かしているのですが、エラーメッセージが表示されません。 しかし、エラーを取得する処理(if文内のoci_error)までは入ってきているため、 接続の書式や設定に問題、またはエラーメッセージが空なだけなのか、 またはOracleの関数自体が機能していないのか、判断がつきません。 if文内に入る(oci_connectで接続できない→Falseを返す)ということは、 oci8.dllとは正常に連携し、oracleの関数は機能している、という認識でよいのでしょうか。

    • 締切済み
    • PHP
  • PHPとOracle

    こんにちは。質問させてください。 今、PHPの勉強をしています。 ApacheとPHP4.1.2を使用しようとしています。 今つかっているPCから別のPCに作成したソースを移動して 移動したPCで動作確認を行っているのですが、 プログラム中にオラクル関連の関数ocilogonを使用しようと したのでが、Undefined function ... というエラーが 出てしまいます。 以前も同じエラーが発生したときに INIファイルかDLLをC:¥WINNTに入れて PHP.iniの設定も変えたと記憶しているのですが 現在しようしているPCの設定をどうかえたか忘れてしまいました(泣) ご存知の方いらっしゃいますでしょうか?

    • ベストアンサー
    • PHP
  • PHP:OCILogonについて

    PHP4.3.11、IIS5.0、Oracle10gを使用してテーブルからデータを 一覧表示させるテストプログラムを作成しました。 関数はORACLE8関数を使用しました。 正しく実行できたのですが時間が10秒くらいかかるため、echo等で調べたところ OCILogonの部分で非常に時間がかかっていることがわかりました。 SQLの実行からは時間はほとんどかかっていません。 ORACLEは初めてなので困っています。 OCILogonで時間がかかる原因として考えられるものがあれば教えてください。

  • PHPとOracleの接続疑問

    こんばんは 今PHPを使ってオラクル(8以上)と連携したいです。 実行環境として、PHP.iniでextensionの設定が必要ですか? Oracle自体のクライアントソフトのインストールも必要ですか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとORACLE

    こんにちは。質問をさせてください。 PHPでオラクル接続などOCILOGONの関数以外での接続方法って あるのでしょうか? もしあるようでしたら、詳細、サイトなどご存知のかた 教えてください。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • phpMyadminとPHP上からの違い?

    おせわになります よろしくお願いします SELECT COUNT(*) FROM テーブル名 WHERE dee = 0 AND Fee LIKE '%文字%' というSQL文があり、 phpMyadmin上からSQLを実行すると 4と表示されるのですが PHPから $sql = "SELECT COUNT(*) FROM テーブル名 WHERE dee = 0 AND Fee LIKE '%文字%'"; $result = mysql_query($sql,$conn); $row = mysql_fetch_row($result); とすると0、$row[0]は0となります 特にエラーの表示もなく データベースへの接続も問題ないようなのですが 原因がわかるかたいらっしゃいましたら 教えて下さい 以上よろしくお願いします

    • ベストアンサー
    • PHP
  • PHP5でOracle接続がエラー

    Linuxサーバー(Oracle(10.1)+Apache(2.0.52)+PHP(5.0.5)) からデータを参照し、ブラウザで表示するものを作成しようとしています。 PHPからオラクルへ接続テストをしたところ、うまくいきませんでした。 $conn=oci_connect($user,$pass,$db); これがORA-12514のエラーになります。 エラーの原因がわかりません。どういうことを確認すればいいですか? tnsnames.oraとlistener.oraの"HOST"はIPアドレスにしていますが、 リスナーのステータス(コマンド:lsnrctl status) で見た"HOST"は<*.co.jp>というふうになっています。 これは問題ないのでしょうか? (tnsnames.ora) <$DB> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =<$db>) ) ) (listener.ora) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) ) ) (リスナーのステータス) リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<$db.**.co.jp>)(PORT=1521)))

専門家に質問してみよう