• 締切済み

Access 「パラメータが足りません」のエラー

Access2003 初心者です、よろしくお願いします。 閲覧者に<form>の<textarea>から名前と性別とコメントを書いて実行してらうものを作っています。 コメント内容を受け取るPHPファイルで、AccessのデータベースにINSERTする際、  $sql = "INSERT INTO table ( 名前,性別,コメント ) VALUE ( '$name','$sex',\"$comment\" )"; としたら、「パラメータが足らない」のエラーがでました。 \"~\"は、Accessでは使えないのですか?コメントの中に ’ や” を使われ際、どのように逃げられますか?

  • brosis
  • お礼率94% (100/106)

みんなの回答

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんにちは。 使えますよ。書き間違いだと思います。 $sql = "INSERT INTO table ( 名前,性別,コメント ) VALUE ( '$name','$sex',\"$comment\" )";  ↓ $sql = "INSERT INTO table ( 名前,性別,コメント ) VALUES ( '$name','$sex','\"$comment\"' )";

brosis
質問者

お礼

なるほど、Accessのときは、必ず '~'が要るのですね。ありがとうございました。

関連するQ&A

  • MySQLから取り出したものを3つに分ける

    MySQLに以下のようなSQLを打ちました。 create table table_list( id int, task varchar(255) ); insert into table_list values(1,'ほげほげ1-1'); insert into table_list values(1,'ほげほげ1-2'); insert into table_list values(2,'ほげほげ2-1); insert into table_list values(2,'ほげほげ2-2'); insert into table_list values(3,'ほげほげ3-1'); そして、空のdiv要素が3つあります。 このデータベースからidの数値別に、div要素へtaskの文字列を入れたいのですが、どうすればいいのでしょうか? SQLで「select * from table_list」をやってからtaskを取り出すのか、3回SQLで「select task from table_list where id=1」のようにするのがよろしいんでしょうか?

    • ベストアンサー
    • PHP
  • Accessへ日付をINSERT

    今Access2000のテーブルから文字として受け取ったデータを 同じくAccessの別テーブルの日付型にINSERTしようとしています。 ソフトはVC6.0を使用しています。 受け取るSELECTはうまくできています。 UCHAR sqlstr [ ] ="INSERT INTO テーブル名"           "(カラム1、カラム2、カラム3)"           "VALUES(?,?,?)"; INSERTはこのようにSQL文を用意しておいてSQLExecuteで SQL文を実行しようとしています。 この場合にカラム1が日付型だとしたら、 「?」のパラメータには文字として渡し、 SQL文のなかで "VALUES(to_date(?,'YYYYMMDD'),?,?)"; とすればうまくいくと思ったのですができません。 いろいろサイトを見るとAccessでは「’」ではなく「#」を使うと 書いてあったので to_date(?,#YYYYMMDD#) とやったのですがエラーになってしまいます。 ちなみにパラメータとして渡す文字列は「20020413」という 8桁の普通の文字です。 どなたか知っている方いませんでしょうか? 他に方法があればそれでも構いません。 どうか教えてください。m(__)m どうしても先へ進めません…。

  • MYSQLのレコードを上書きしたいのですが…

    phpからMYSQL5に接続して以下のようなデータベースを作りました。 no name comment ←カラム名 1  山田 起きる 2  山田 叫ぶ 3  山田 寝る これを上書きして、 no name comment 1  山田 食べる 2  山田 遊ぶ 3  山田 寝る というようにレコードを更新したいのです。 しかし、どうやっても1、2、3の後に4、5、6と続いてしまいます。 「no」カラムにはauto_increment+primary keyを設定しています。 phpで構文を送る前に mysql_query("alter table db1 auto_increment=0"); を設定してみたり、 mysql_query("insert into db1 (name,comment) value ('山田','$comment')"); や mysql_query("replace into db1 (name,comment) value ('山田','$comment')"); を試してみましたが、上手く行きませんでした。 現在は、 mysql_query("delete from db1"); mysql_query("alter table db1 auto_increment=0"); ---php処理--- mysql_query("insert into db1 (name,comment) value ('山田','$comment')"); というように、二度目の書き込みを行う前に一旦テーブル内のレコードを すべて削除して書きなおすという方法を取っています。 しかし、数が多くなると一旦削除する作業を行うと処理が遅くなってしまうと思いますので、上書きしてデータベースを更新したいと思っているのですが、どのようにすればよいでしょうか?

    • ベストアンサー
    • MySQL
  • T-SQLとACCESSクエリのSELECT分内のif文の利用について

    お世話になります。 ACCESSクエリからSQLServer2005のストアドに移行を検討中です。 ACCESSクエリではINSERT INTO時のSELECT内にIIF文による条件分岐が使えたのですが、T-SQLでは、INSERT INTO時のSELECT内にIF文やswitch文は使えないのでしょうか?その場合、どのようにすれば宜しいでしょうか? 例> ACCESSクエリでは以下のようにかけると思うのですが・・・ INSERT INTO Table1 (Pコード,単価) SELECT Table2.Pコード,IIf(Table2.Check定価=1,Table2.定価A*Table3.値引率,Table2.定価B*Table3.値引率) FROM Table2 RIGHT JOIN Table3 ON Table2.Pコード = Table3.Pコード; 宜しくお願いします。

  • AccessのSQLについて教えてください。

    Excel+VBA から、ADOを使って、Accessを操作しようとしています。 なんとか、sqlを実行できるようになったのですが、 一点、分からないところが出てきましたので、教えてください。 insert文で、レコードを追加したとき、追加されたレコードのIDを取得したいのですが、 どのようにすれば良いかわかりません。 コードは次のようにしています。 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & データベース名 & ";" sql = "INSERT INTO テーブル名(フィールド) VALUES(値)" cnn.Execute sql 以上、すみませんが、よろしくお願いいたします。

  • JDBC:ODBCでaccess db にデータをInsertするとき、構文エラーがでました

    insert into InMoneys(Source,Money) values('1',99) java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。

    • ベストアンサー
    • Java
  • PHP+MySQLで複数配列の挿入(INSERT)

    こんにちは。PHPの初心者です。MySQLで一つの配列を読む方法はわかっていますが、複数の配列をテーブルに入れる方法がわかりません。どなたかわかる方がいらっしゃったら教えてください。 $sql01 = "INSERT INTO $table01 (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id, comment_subscribe) VALUES ('1069','online post dated check cashing','Tim','Hello','221.120.211.2','2008-09-23 06:43:43','2008-09-23 14:43:43','Yay','0','spam','Hello','trackback','0','0','N')"; 以上のように$table01というテーブルに特定のデータを挿入することができます。データベースは$database_my_juliaです。もう既に$database_my_meggyというデータで以下のようにデータを$sqlに保持しています。このような複数の配列を上記のように他のデータベースのテーブルに挿入することはできるでしょうか? $sql = "select comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id, comment_subscribe from $table00 WHERE comment_approved != '1'"; $result_my_meggy = mysql_query($sql,$my_meggy); 宜しくお願いします。

  • PCにアクセスできませんパラメータが間違っています

    新しいPCをネットワークで繋ごうとしたら、Win98のPCはうまく繋がったのですがWinMeのPCにはアクセスできません、マイネットワークではMeのパソコンの名前は出ているのですが、パラメータが間違ってますと出て繋がりません。Meからは2000のPCは問題なく見れます。Meと98も問題なく繋がります。2000からMeだけがこのようなコメントが出てしまいます。どうか宜しくお願いします。

  • AccessのテーブルをSQL文にしたい

    urizakaです。 さて、今回質問したいのは、Accessで作ったテーブルをSQL文にする方法です。 具体的には、ACCESSで作ったテーブルを、 CREATE TABLE ××× (              ) INSERT… というSQL文にしたいのですが、これはどうすれば良いのでしょうか? すみませんが、教えてください。            

  • JSP表示エラー?

    たびたびすみません リクエストから取ってきたコメントどうしても表示ができないです。 環境は tomcat5.5 postgresql8.2 データベースエンコーディングはEUC_JP JSPファイルもEUC形式で保存してます。 コメント欄に日本語を入力するとエラーが出てしまいます。 JSPファイル1 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*,atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする MyDBAccess db = new MyDBAccess(); db.open(); ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST order by member_id"); String tableL = "<table border=1>"; tableL += "<tr bgcolor=\"000080\"><td><font color=\"white\">ID</font></td>" + "<td nowrap><font color=\"white\">名前</font></td>" + "<td colspan=2><font color=\"white\">出欠</font></td>"; while(rs.next()) { int id = rs.getInt("member_id"); String name = rs.getString("name"); String age = rs.getString("age"); int state = rs.getInt("attendance"); String comment = rs.getString("comment"); if(comment != null){ comment = new String(comment.getBytes("8859_1"),"EUC_JP"); } 以下~略 JSPファイル2 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*, atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする // 入力された引数を取得する String comment = request.getParameter("comment"); String attendance = request.getParameter("attendance"); String member_id = request.getParameter("member_id"); // MyDBAccess のインスタンスを生成する MyDBAccess db = new MyDBAccess(); // データベースへのアクセス db.open(); // データベース更新用のSQL文を作成 String sql = "update shainlist set comment='" + comment + "', attendance=" + attendance + " where member_id=" + member_id; // SQL文を実行 db.execute(sql); くわしい方教えていただけないでしょうか よろしくお願いします。

    • ベストアンサー
    • Java