0

次のようなクエリで変数をバインドしたいと思います。

SELECT people.name, conf.id
FROM people, conf
WHERE people.confid=conf.id AND people.name LIKE :c1 AND conf.name LIKE :c2

バインディング(私は非常に単純な式を使用しようとします):

$tmp = '%';
$tmp2= '%';

oci_bind_by_name($statement, ':c1', $tmp);
oci_bind_by_name($statement, ':c2', $tmp2);

警告:oci_execute()[function.oci-execute]:ORA-01008:162行目の....phpにバインドされているすべての変数ではありません

:c1の代わりに{$ tmp}を使用してその場でクエリを生成すると、機能します。

何か案は?

ありがとう!

4

1 に答える 1

0

私は問題を解決しました:

oci_free_statement()メソッドを呼び出しませんでした。同じデータベース接続の他のページでは、freeメソッドを呼び出さなくてもバインディングが正常に機能したため、これは少し奇妙です...

于 2011-04-12T05:09:23.780 に答える