[PHP-users 32462] Re: PDO プレイスホルダにバインドできない

Kimio Mizuguchi mizuguchi.kimio @ ytv.home.ne.jp
2007年 7月 18日 (水) 06:51:50 JST


聖さん、皆さん、おはようございます。

聖さんのご助言に従って、もう一度bindParam()を試したところ、成功しました。
前回のコードが残っていないので改めて作ったのですが、同じ内容のはず...
前のコードには実はミスがあり、今回は、それとは気づかずミスを補正したのか?
しかし、前のコードでもMySQLでバインドできたことは事実です... 事実かなあ。

私の環境では、prepareするSQL文にセミコロンをつけると、以下のエラーが発生
しました。

SQLSTATE[HY000]: General error: 911 OCIStmtExecute: ORA-00911: 文字が無効です。 (ext\pdo_oci\oci_statement.c:142)

これは今、何回か試したところなので、事実です。

ちなみに、私の環境は、

Windows Xp proffesional
XSAMPP Windows 1.6.2
  Apache 2.2.4(localhost)
  PHP 5.2.2(oci8 1.2.3)
  MySQL 5.0.41
Oracle 9i Windows版(localhost)

です。

とにかくバインドが使えそうなので、コードを差し替えることにします。今の暫
定コードでは、kanonbellさんも教えてくれたようにクォート処理されないよう
ですから。


On Tue, 17 Jul 2007 23:44:08 +0900
"聖歩美" <hijiri.walk @ gmail.com> wrote:
> Oracle9i + PDO で、いろいろと試してみました。
> SQL 文の最後にセミコロンが入っていると確かに結果が0件になりますね…。
> 0件というよりは空の配列が返ってくるような。
> 
> これ以外では私の環境は発生しないようです。
> 
> 失敗したSQL
> $stt = $db -> prepare('SELECT * FROM wktk WHERE col > ? ; ');
> 
> 成功したSQL
> $stt = $db -> prepare('SELECT * FROM wktk WHERE col > ? ');
> 
> ご参考になれば…(´・ω・`)
> 
> 
> 聖歩美
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3




PHP-users メーリングリストの案内