• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームからDBへの接続)

フォームからDBへの接続について

このQ&Aのポイント
  • フォームからDBへのデータ挿入がうまくいかない問題について相談です。
  • MYSQLへの接続は成功しているが、データ挿入ができない状況です。
  • bithdayのフォールドがdatetimeで、年はyear、月はmonth、日はdayとしています。何かおかしい点があるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

mysql_query($sql,$link) or die(mysql_error); を実行して、エラーがでていないか確認してください。 なおSQL文はヒアドキュメントで処理したほうがいいですね また不要なエラーを避けるためくせとしてDB名やフィールド名には ``をつけましょう また、文字列中の変数には{$変数}としてください。 $sql=<<<eof INSERT INTO `users`( `passwd`, `name`, `name_kana`, `seibetu`, `birthday`, `email`, `postal_code`, `xmpf`, `address1`, `address2` ) VALUES( '{$passwd}', '{$name}', '{$name_kana}', '{$seibetu}', '{$year-$month-$day}', '{$email}', '{$postal1}', '{$xmpf}', '{$address1}', '{$address2}' ) eof;

noname#45608
質問者

お礼

回答ありがとうございます。 上記のやり方でやってみたのですが、 '{$year-$month-$day}', のところでエラーになってしまいます・・・ Parse error: syntax error, unexpected '-', expecting '}' in C:\kekka\kekka.php on line 50 というエラーです・・・・ なぜなんでしょうか・・・・

noname#45608
質問者

補足

教えてくださった mysql_query($sql,$link)or die(mysql_error); を入力すると見事に mysql_error と出てしまいます・・・何かmysqlに問題があるのでしょうか?

その他の回答 (4)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

たびたび恥ずかしい(汗) mysql_error() でした mysqlのSQLの文法エラーなどが表示されるはずです

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

>やはりエラーになってしまいます・・・。 エラーの内容は? 行番号がでていたらその部分のソースをだせる範囲で貼ってみてください

noname#45608
質問者

補足

行番号ではなく mysql_error とでます クエリが動いていないのでしょうか? <? require("check.php"); if(is_array($error)){ echo "不正アクセス"; exit; } $link=mysql_connect("localhost","****","****"); mysql_select_db("***",$link); $sql=<<<eof INSERT INTO 'users'( 'passwd', 'name', 'name_kana', 'seibetu', 'birthday', 'email', 'postal_code', 'xmpf', 'address1', 'address2' ) VALUES( '{$passwd}', '{$name}', '{$name_kana}', '{$seibetu}', '{$year}-{$month}-{$day}', '{$email}', '{$postal1}', '{$xmpf}', '{$address1}', '{$address2}' ) eof; mysql_query($sql,$link)or die(mysql_error); mysql_close($link); print "ok<br>"; print "<br>"; ?>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

もうしわけない '{$year-$month-$day}', ではなく '{$year}-{$month}-{$day}', でリトライお願いします

noname#45608
質問者

補足

やってみたのですが、やはりエラーになってしまいます・・・。 <? $link=mysql_connect("localhost","shop","****"); mysql_select_db("***db"); mysql_query($sql,$link)or die(mysql_error); mysql_close($link); print "ok<br>"; print "<br>"; ?> なにかおかしいところがありますか?

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

なにがどううまくいかないのか DBコネクトは正常 INSERTそのものができない INSERTは正常に行えるが。インサートされたデータがおかしい ・・・などの情報が必要です また、 $year-$month-$day だと、 年-月-日 で引き算される可能性大