dポイントプレゼントキャンペーン実施中!

お世話になっております!

ユーザー個々に自由に書き込み・更新作業の出来るスペースを作っていたのですが・・・。

会員登録と会員情報の更新の様な仕組みと思っていただければと思います。

更新作業をするソースは完成したのですが追加するソースが出来ません。

と言いますのは、会員個々にDBへ書き込みができないと言う事なんです。

つまり、更新は出来てもそもそもデータが無いので意味が無い状態です。

追加するソースです

$result1 = $DB->execute("INSERT INTO $k_koukoku_table values('',k_name='$[2]' where k_name='$id'");


フォームソースです

<textarea name="2" rows="1" id="2"><?=$id?></textarea>

多少ソースは省いてます。おそらく追加するプログラムが原因かと思っています。


すでにデータが存在する場合は、データ抽出を行い表示させて、更新を行いデータが存在しない場合は追加をすると言う事になっております。

データ抽出と更新のプログラムは完成しているので記載していません。

宜しくお願いいたします。

A 回答 (2件)

だいぶ状況が見えてきました(笑


一番てっとり早いのは、SUBMITがあるフォーム側のHTMLと、それを受け取っている(ハズ)のPHPファイル側のソースとコードを公開していただくことですが、まぁ、状況によっては難しい場合もありうると思うので、参考程度に読んでください。

>初めは$pr[2]になっていました。(自分で色々していて外してしまいました)
これではインサートされるはずがありません。変数というのは箱のようなもので、中に情報を入れて使うものです。今回、本来ならば「pr」という箱(変数)に何かの情報(ここでは登録したい内容のこと)を入れ(代入し)て処理していたのです。ですから、SQL文では「prという箱の中身をデータベースに登録してね」という内容の文章になっていたはずです。つまり、今回「pr」という部分を削ってしまったため、箱の名前を命令文(SQL文)から抜いてしまった事になり、登録すべき情報の入った箱の名前を指定していないが為、何も登録できずに終わっているのでしょう。

>変数と言うのを調べるためにはどうしたらよいですか
変数名は製作者がほぼ自由に決めることが出来ますので、具体的に正しい変数名はわかりませんが、もしも、別のページから登録すべき内容をフォームか何かから送信し、受け取っているのであれば「$変数名 =$_POST['○○○']」とか「$変数名=$_GET['○○○']」とかで、受け取った情報を変数に入れているはずです。そこを探してください。
ちなみに、今回、もともとは配列型になっていたようなので、その変数名の近くに「array」という言葉が出ているかもしれません。

>ちなみに追加ソース自体はこれで行けますか。
上の変数名の如何によって変わります。

>テーブルが変わると変数と言うのも変わってしまうんですね
テーブルを変えて、登録する中身も変えるならそうかもしれません。テーブルが変わることと変数名が変わることは本来無関係です。

ということで、とにかく情報量が足りなさ過ぎますが、たぶん上記のことを確認し、クリアできれば動くと思います。ただし、基本的な部分で誤解されているような箇所もお見受けできますので、まず、もともとのサンプルコードを精読していただき、「一体、どこで何をしているのか」をお考えください。それが早道です。

この回答への補足

こんにちは!
パソコンからの設定とユーザー設定のページに分かれていました。
別なファイルで受け取っていたみたいです。

元々の$prのある変数とテーブル移動をした変数を入れ替えてしてみました。そうした所無事に追加する事が出来ました!

一安心と落ち着いていた所、Warning エラーでました。
「うわっ」と思ってWarningエラーを検索してみました。
どうやら受け取りページと入力ページの関数みたいなものの個数が合わない場合に出るらしいと書いてあり訂正しました。
そうしたら無事に願っていた機能がバッチリ完成いたしました。
有り難う御座いました。

実は一ヶ月以上これに悩まされておりました。。。
奇跡と言いますかたまたま一回は追加されたものの・・・それからが地獄の始まりでした。
作成者さんになんども聞けずこちらで質問いたしました。

本当に良かったです!(≧∇≦)

補足日時:2009/04/30 20:01
    • good
    • 0
この回答へのお礼

こんばんは!

とても詳細な所までご教授頂き大変恐れ入ります。
別なファイルで受け取っていると言う事だったんですね・・・。

私の裸を見られた様な感じになりました。受け取っているファイルを探してみます!そこから辿って行きたいと思います。
ありがとうございました!m(__)m

お礼日時:2009/04/30 01:04

こんにちは。


エラーが出て出来ないということでしょうか?
(まぁ抽出・更新できているということなので、そういう事なんだと思うのですが)
エラー文を掲載できますか?それがあるとないとでは、回答の集まり具合が違います(^^

気になったのは
$[2]
というところ。これは「$」のあとに本来何か変数名が入っているのではないですか?それがないので、インサートされずにエラーがでる(もしくはスルーしている)とかではないでしょうか?
    • good
    • 0
この回答へのお礼

こんにちは!
ありがとうございます!
エラーは出ていないです!Submidを押しても何事も無かったかのように・・・って感じです。
実は・・・そこにprと言う文字ありました。

初めは$pr[2]になっていました。(自分で色々していて外してしまいました)


実は別なテーブルへの追加ソースの改良だったんです。(この場合変数も変わりますか)

・・・テーブルが変わると変数と言うのも変わってしまうんですね・・・。
その変数と言うのを調べるためにはどうしたらよいですか・・・。
ちなみに追加ソース自体はこれで行けますか。
分かりづらくてすみませんm(__)m

よろしくお願い致します。

お礼日時:2009/04/29 11:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!