[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 メーリングリストの案内