• 締切済み

Too few parameters. Expected 1エラー

Win2000サーバにあるAccessのファイルにPerlでクエリーをかけHTMLで結果を出力しようとすると、タイトルに書いたようなエラーが出ます。調べてみたところ、SELECT文で存在しないFieldNameが使われているか、WHERE句で正しい値が入れられていないためにそのエラーが出る、らしいのです。これらの事をしっかりとチェックしたいにもかかわらず、同じエラーが出るんです。次の対処法は何でしょうか?お願いします。

  • Perl
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

まずは、Perlで作成したクエリを画面表示やファイルに記録する等して、そのクエリをAccessで直接実行するのが手っ取り早いです。 プログラムでクエリを作成すると、余分なカンマが入っていたり、フィールド名が空白になっていてエラーになるケースが少なくありません。

関連するQ&A

  • SQLエラー

    検索システムの検索結果の分割をしようとしています。 しかしどうしてもSQL文にエラーがでてしまいます。 SELECT * FROM shops where (area='◯◯◯') ORDER BY id DESC limit0, 10 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit0, 10' at line 1 該当するSQL文は以下になります。 $query = "SELECT * FROM shops"; $where = array(); if (isset($_GET['area'])and($_GET['area'] !== '')) { $where[] = sprintf("(area='%s')", mysql_real_escape_string($_GET['area'])); } if (count($where) <> 0) { $query .= ' where ' . implode(' and ', $where) . ' ORDER BY id DESC '; }   $query .= "limit" . $page_num*10 . ", 10" ; limit句の使い方等間違いはないのかなと思うのですが、いかがでしょうか? アドバイスご教示いただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Access VBAからcsvの出力について

    Access VBAからcsvの出力について Select * into csvファイル From テーブル名 Where ••• Where句なし、全件ではちゃんと出力できるのですが、 Where句ありだと0件になってしまいます。 Where句指定はできないのでしょうか? よい方法があれば教えてくださいm(._.)m 環境はフロントAccess ,DBはSQL server バッチでの出力も試みましたが、 Serverがあるフォルダにアクセス権限がないため、 断念しました。

  • 「SELECT ~  FROM テーブル名」の後に続く句は「WHERE句」と「ORDER BY句」以外にありますか?

    最近アクセスのSQL文を学びました。 選択クエリのSQL文で 「SELECT ~  FROM テーブル名」 の後に続く句は 「WHERE句」と 「ORDER BY句」以外にありますか? よろしくお願いします。

  • phpでmysql_queryを使って以下の文

    phpでmysql_queryを使って以下の文を送るとエラーが出ます。 どうも、WHERE句で数字比較をするとダメなようです。 SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.name=table2.name WHERE turn<5 何がいけないのでしょうか? ・数字の5の部分はHTMLのテキストボックスからPOSTで貰っています。 ・WHERE句が無いとちゃんと動く。 ・WHERE句でLIKEを使った文字列比較は動く。 ・turnはphpMyAdminで見てもint(11)になっている。 ・実際は複数テーブルを連結したものです。わかりにくいので省きました。 ・PHP:5.4.29 ・MySQL クライアントのバージョン: 5.5.28 ・サクラレンタルサーバー(スタンダード)上での動作。

    • ベストアンサー
    • PHP
  • クエリの使い方について

    SQLサーバーをしようしていますが、クエリの文法がわかりません。SELECT文でのifの使い方が分かりません。 どなたか、ご教示ください。 SELECT TOP 10 AAA,if (recv_type='mb' then you_mb else you_pc) FROM ope WITH (nolock) WHERE (you_id = 3) がSQL文なのですが、recv_typeがmbのときはyou_mbフィールドの値を出力し、 それ以外のときはyou_pcフィールドの値を出力したいのですが、うまくいきません。 なにぶん初心者でして、どうしてよいか分かりません。 恐れ入りますが、教えていただけないでしょうか?

  • DBからファイルを参照

    たとえば、サーバ上に名前が十数個書かれた一つのファイルが存在しているとします。 その情報を、同サーバにあるDB(Oracle)から参照することは可能でしょうか? やりたいことは、SQLのSELECT文で、「そのファイルを参照してその名前をWHERE句で引数として、結果を出力させる」といった感じです。 「select from * from 名簿 WHERE "サーバ上にあるファイルを参照してそこにある情報(名前)" 」 このような形です。。。不可能そうだと思いつつ、聞いてみます。 わかりづらくて申し訳ありませんが、わかる方いらっしゃいましたら よろしくお願いします。

  • なんでサーバーエラー??

    CGIをはじめて、まだまだ初心者です。 プログラムは、MS-DOSで構文チェックして、 OKとでるのに、サーバーエラーっておかしくないですか? もちろん、サーバは、自分のパソコンに アパッチいれて、Perlいれて確認するんですが、 何がエラーなんでしょう・・・? まだ、高級なCGIなど作れないので、 フリーのスクリプトをDLしてきました。 まず、構文チェックOK。 そして、Perl開いたまま、 ブラウザにアクセスします。 そうしたら、サーバーエラーとなるのです。 何を変えていったらいいのか教えて下さい。 (自分で作った簡単なアンケートフォーム とかは成功しました)

    • ベストアンサー
    • CGI
  • ACCESSクエリエラー

    ACCESSにてクエリをSQLビューにて直書きにて作成したところ、 『メインクエリのFROM句の予約語EXISTS を使用しないフィールドを複数返すサブクエリを 作成しました。サブクエリの SELECT ステートメントを変更し1つのフィールドだけを指定してください』 と、エラー表示がされました。 クエリは INSERT INTO 売上管理TBL VALUES ( SELECT  date() , 商品名称TBL.ID , 商品名称TBL.個数 , 商品名称TBL.単価 * 商品名称TBL.個数 AS 金額 FROM 商品名称TBL WHERE 商品名称TBL.個数 > 0 ); になっています。

  • php5+mysqlのSELECT文でwhere句を指定すると正しく動

    php5+mysqlのSELECT文でwhere句を指定すると正しく動きません。 レコード数を取得します。 ここで、field10(category)=text型の値に基づきレコード数を取得したいのですが、 $sql="select * from A where B='C'"; とするとレコード出力(index.php)で0を出力。 where句を指定せずに $sql="select * from A"; とするとレコード出力(index.php)で97を出力。 文字コード関係のQ&Aサイトを見ましたが、phpファイルの冒頭部分に $con = mysql_connect($DBSERVER, $DBUSER, $DBPASS); mysql_query("SET NAMES 'sjis'"); $selectdb = mysql_select_db($DBNAME, $con); を指定しています。 テーブルAに含まれるデータは、csv(,区切り)で、load data infile・・・しました。 ※Records:97 Deleted:0 Skipped:0 Warnings:0 他に考えられる原因・対処方法はありますでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • select文の戻り値を変数に格納したい。

    select文の戻り値を変数に格納したい。 アクセスの選択クエリで以下の様なクエリをつくる。 select count(管理no) from 割り当てテーブル where 管理no = formのテキストボックスに書かれた値; doCmd.openQueryで実行させると画面が開きクエリの結果が表示される。 この値は必ず一つになるはずでその値を変数に取り込み次の処理を行いたい。 現在はクエリを実行後、フォームを開きなおし別の要素にクエリの結果を 表示させその値を取っている。なるべくならフォームを開きなす事をした くないので最初の実行時に変数として取り込みたい。