• 締切済み

配列データのレコード登録

syuuiwsdの回答

  • syuuiwsd
  • ベストアンサー率56% (17/30)
回答No.1

データベーステーブルの構造によって異なります。お使いになるテーブルはどうなってるのでしょうか?

tarou_hana
質問者

補足

説明不足ですみません。 テーブル名は`test`で構造は、 id(int)index│txt(text) という風にしています。 id│txt 1 │あ 2 │い 3 │う 4 │え 5 │お という形にしたいと考えております。

関連するQ&A

  • 配列の初歩2

    PHP+MYSQLに挑戦しているプログラミング入門者です。、 昨日 http://oshiete1.goo.ne.jp/qa3720566.html に続き全く初歩的な質問で申し訳ございません。 知識が乏しいため本を読んでもわからず、 いろいろ試してもだめなため、再度質問させていただきます。 t1 +-+-+ |n|n2| +-+-+ |1|2| +-+-+ |3|4| $bat=array(5=>6,6=>7,7=>8); $sql = "insert into t1 values(5,number)"; なら |5|5| $sql = "insert into t1 values(5,'{$bat[5]}')"; なら |5|6| が追加されますが $sql = "insert into t1 values(5,'{$bat[number]}')"; だと |5|0| となってしまいます。これを |5|6| とするにはどうしたらよいのでしょうか 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • 配列の初歩

    初めてのプログラミングのため、初歩的な質問で申し訳ございません。 PHP+MYSQLに挑戦していますが、 複数の値を配列(これがわかりません)を使って、レコードを増やすやり方がわかりません。 $area = 5; $area2 = 6; $sql = "insert into t1 (number,number2) values ('.$area.','.$area2.')"; $res = mysql_db_query($db,$sql); なら、レコードを増やすことができましたが、これを配列(5,6)を使ってやるにはどうしたらよいのでしょうか。何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • 配列内のデータを1つのテーブルに登録。

    配列内のデータを1つのテーブルに登録。 お世話になっております。 以下のような構成のテーブルがあり、カラム名1、2、3、4と100まであるのですが、そこへ 配列内にある100を数えるデータを登録するには、どのようなSQL文が適切なのでしょうか? no id date 1 2 3 4 5 6 ...... 100 安易に、$sql = "INSERT INTO test values(0, '$id', '$date', '$randam[0]', '$randam[1]', '$randam[2]',....とも考えたのですが、他に効率のいいものがあるのでは?と思い、投稿した次第です。色々と考えてはいるのですが他に思いつかないので・・ 補足:配列にあるデータはランダムな数値を格納してあり、このSQL文の前に、配列を生成したものとなっております。 以上、お忙しいなか恐縮ですがご指導のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • 配列データのMySQLへの登録

    下記の配列のデータをMySQLのデータベースに登録をしたいと思っています。 (参考)に記述しています内容で実行をしましたが、1つ目のデータしか登録がされず、 for文なども考え試行錯誤していましたが、うまく実行できない状況であります。 登録のための方法をご教授いただければと思います。よろしくお願いします。 array(3) { [0]=>"146-0082" [1]=>"東京都大田区" [2]=>"田中さん" array(3) { [0]=>"120-0015" [1]=>"東京都足立区" [2]=>"山田さん" -------------------- (参考) $sql = ('insert into table (number, adress, name) values (:number, :adress, :name)'); $stmt = $dbh->prepare($sql); $params = array( ":number" => $data[0], ":adress" => $data[1], ":name" => $data[2] );

    • ベストアンサー
    • PHP
  • 配列データに対する、要素の追加・削除方法

    PostgreSQLの配列に対して、要素の追加及び削除を行いたいのですが、下記のような動作をさせるには、※1と※2で、どのようなSQLを実行すれば良いでしょうか? よろしくお願いいたします。 >>> CREATE TABLE test ( id integer, data integer[] ); INSERT INTO test VALUES (1, '{0,1,2,3,4}'); INSERT INTO test VALUES (2, '{5,6,7,8,9}'); SELECT * FROM test; id | data ----+------------- 1 | {0,1,2,3,4} 2 | {5,6,7,8,9} (2 rows) UPDATE test [data配列に10を追加] WHERE id = 1; /* ※1 */ UPDATE test [data配列から6を除去] WHERE id = 2; /* ※2 */ SELECT * FROM test; id | data ----+------------- 1 | {0,1,2,3,4,10} 2 | {5,7,8,9} (2 rows) <<<

  • PHPでInsertを実行したら空白のレコードが追加される

    PostgreSQL 8.0.1 PHP 4 Apache 1.3 で環境を構築しています。 PHPで、 $sql=sprintf("insert into records values('20','test2','cal')"); と入力し実行すると、きれいにDBに登録できるのですが、 $sql=sprintf("insert into records values('%s','%s','%s')",$no,$name,$address); と入力したら、DBには空白で登録されてしまいます。 何がおかしいのか検討が付かなくて困っております 宜しくお願い致します。

  • 「~」文字の登録

    すみません。 以下のSQLを実行した後、登録した内容を 画面上で表示した時、 「あ~お」が「あ?お」となってしまいました。 「~」文字を登録する場合はSQLで何か処理しないといけないのでしょうか。 INSERT INTO TEST (A,B,) VALUES(1,'あ~お') よろしくお願いします。

  • トランザクションについて

    トランザクションについての質問なのですが、下にある1のSQLを実行すると 'a'だけ登録されるのは、分かるのですが、 2のSQLを実行すると、'c'と'd'の両方が登録されてしまいます。 私的には、両方登録されないのかなぁと思っていたのですが・・・ COMMITが来た時点で、START TRANSACTIONの開始位置は、 あまり関係ないということなのでしょうか? よろしくお願いします。 1. START TRANSACTION; insert into test values('a'); START TRANSACTION; insert into mtuser values('b'); ROLLBACK; COMMIT; 2. START TRANSACTION; insert into test values('c'); START TRANSACTION; insert into mtuser values('d'); COMMIT; ROLLBACK; 環境:Mysql4.1.19

    • ベストアンサー
    • MySQL
  • ポスグレでの幾何学データ配列の使い方について質問です。

    ポスグレでの幾何学データ配列の使い方について質問です。 create table test_table1 (id serial, test_lseg lseg[]); insert into test_table1(test_lseg) values (ARRAY[lseg'((0,44),(0,88))',lseg'((1,44),(1,88))',lseg'((2,44),(2,88))',lseg'((3,44),(3,88))',lseg'((4,44),(4,88))',lseg'((5,44),(5,88))'] ); という感じのテーブルを作成し、test_lsegカラムのArray内にある線分に特定の座標が含まれているかを調べるような事をしたいのですが、ARRAY内の要素を検索する際の演算子を指定する方法がよく分かりません。とりあえず以下のようなSQL文では検索できないようです。 SELECT * from test_table1 WHERE test_lseg && ARRAY[lseg'((0,80),(0,80))']; SELECT * from test_table1 WHERE lseg'((0,80),(0,80))' && any (test_lseg); test_lsegカラムのArray内にある線分に特定の座標が含まれているかが分かり、出来ればIndexが張れるようなやり方がありましたらご教授ください。

  • 配列に入ったデータをループを使ってmysqlに登録する方法

    独学でPHPを勉強しておりますが、まだまだ初心者で簡単なことなのかもしれませんが、教えてください。 たとえば  team_a|1|2|3|4|5|  ーーーーーーーーーーーーーー  team_b|5|4|3|2|1| のようなものを  senkou[]とkoukou[]という配列に入れているのでそれを、 ループを使ってsqlでmysqlに登録したいのですが、どうもうまくいかないです。 for($i=1;$i<=5;$i++){ $sql="" . "INSEART INTO team (" . "game_date," . "game_id," . "senkou${i}," . "koukou${i}" . ")VALUES(" . "${game_date}," . "${game_id}," . "senkou[${i}]," . "koukou[${i}]" . ");"; $result = mysql_query($sql,$con); } 多分{}の使い方がでたらめなんだろうなと思っていますが、それをどうやったものか悩んでおります。 よろしくお願いします。

    • ベストアンサー
    • PHP