質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1092閲覧

oci_execute($stmt);の直前のSQLを直接実行したらselect結果が取得できるが、oci_fetch_all($stmt, $res, 0, -1, OCI_FETCHSTAT

larachan

総合スコア28

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/08/17 10:43

oci_execute($stmt)
の直前でvar_dump($sql);
を行い、対象のクエリをsqldeveloperで実行したらselectの結果は取得できますが、

$stmt = oci_parse($conn, $sql);
oci_execute($stmt);

oci_fetch_all($stmt, $res, 0, -1, OCI_FETCHSTATEMENT_BY_ROW);

var_dump($res);
で$res に結果が取得できません。

sqlの文字数は11100文字ほどあるので、メモリに関する問題で上手く実行できていないのでしょうか?

設定するとしたらphp.iniですかね?

わかる方教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

sqlの文字数は11100文字ほどあるので、メモリに関する問題で上手く実行できていないのでしょうか?

SELECT文の文字数?それともSELECT結果?

テーブル名や列名を差し支えないものに変更するなどして、実行したSQLやCREATE TABLE 文を質問に追記できた方が適切なコメントが付き易いです。

SELECT文のWHERE句に

OR ROWNUM <= 100

を追加するとSELECT結果を100行までに制限できます。

投稿2020/08/17 12:00

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

larachan

2020/08/19 08:37

ありがとうございます!
guest

0

自己解決

oci_bind_by_name();
の使用箇所がforeachで上手くバインドできていない様でした。
foreachを除外して1つづつ指定したら上手く行きました。

投稿2020/08/19 08:39

larachan

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問