[PHP-users 7950] ODBC 関数でのパラメータ SQL 、ストアドプロシージャの使い方
Yamaguchi Hiroshi
php-users@php.gr.jp
Thu, 6 Jun 2002 09:31:56 +0900 (JST)
ひろしといいます。
PHPマニュアルや「今日からつかえる〜」などを
読んで鋭意勉強中の毎日です。
非常に初歩的な問題かもしれないのですが、ODBC
関数を使用していて、どうしても解決できない問
題があるので、皆さんのお知恵を貸してください。
1.odbc_prepare関数へのパラメータの渡し方
下記のスクリプトを実行すると、「No parameters to SQL
statement
given in c:\apache\htdocs\odbc.php on line 5」のよう
なエラーで
はじかれてしまいます(line5はodbc_execute関数の行です
)。パラメ
ータの埋め込み方は、JDBCと同じようなものかと考えていた
のですが、
全然違うのですね。
おそらく基本的なことだとは思うのですが、SQL文へのパラ
メータの埋め
込み方についてお教え下さい。
---------------------------------
$aryPrm=array("XXX");
$db=odbc_connect("sample_php","","");
$rs=odbc_prepare($db,"SELECT * FROM emailTest WHERE
company= ? ",$aryPrm);
odbc_execute($rs);
---------------------------------
2.odbc_exec関数でのAccessクエリの実行方法
Access上にあらかじめ用意されたクエリqryTestを実行しよ
うとしています。
しかし、こちらもSQLエラーではじかれてしまいます。
SQL文自体が間違っているのだとは思うのですが、どのよう
に記述するべき
なのでしょうか。Accessのヘルプでも調べてみたのですが、
不明です。
(以下エラーメッセージ。****は文字化け)
SQL error: [Microsoft][ODBC Microsoft Access Driver]
PARAMETER *****",
SQL state 37000 in SQLExecDirect in
c:\apache\htdocs\odbc.php on line 6
---------------------------------
$db=odbc_connect("sample_php","","");
$rs=odbc_exec($db,"PROCEDURE {qryTest}");
---------------------------------
PHPマニュアルを調べてみたのですが、特に用例らしきものも
なく、完全に行き
詰ってしまいました。参考文献などでも結構なので、お教えい
ただけますでしょ
うか。
なお、環境は以下の通りです。
・Windows2000
・Apache1.3.24
・PHP4.2.1
宜しくお願いします。
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/