電子書籍の厳選無料作品が豊富!

フォームからDBへのデータ挿入なんですが、どうしてもうまくいきません・・・。
MYSQLへの接続はうまくいくのですが・・・
<?
$link=mysql_connect("localhost","****","::::");
mysql_select_db("@@@@@",$link);


$sql="
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'
)";


mysql_query($sql,$link);
mysql_close($link);


?>

上記がソースです。
bithdayのフォールドはdatetimeで、年はyear月はmonth日はdayとしています
なにかおかしいところありますか?

A 回答 (5件)

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;

この回答への補足

教えてくださった

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

補足日時:2007/12/06 09:56
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

お礼日時:2007/12/06 09:43

たびたび恥ずかしい(汗)



mysql_error()
でした

mysqlのSQLの文法エラーなどが表示されるはずです
    • good
    • 0

>やはりエラーになってしまいます・・・。



エラーの内容は?
行番号がでていたらその部分のソースをだせる範囲で貼ってみてください

この回答への補足

行番号ではなく
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>";


?>

補足日時:2007/12/06 10:59
    • good
    • 0

もうしわけない



'{$year-$month-$day}',

ではなく

'{$year}-{$month}-{$day}',

でリトライお願いします

この回答への補足

やってみたのですが、やはりエラーになってしまいます・・・。
<?
$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>";
?>

なにかおかしいところがありますか?

補足日時:2007/12/06 10:23
    • good
    • 0

なにがどううまくいかないのか



DBコネクトは正常
INSERTそのものができない
INSERTは正常に行えるが。インサートされたデータがおかしい
・・・などの情報が必要です

また、
$year-$month-$day
だと、
年-月-日 で引き算される可能性大
    • good
    • 0

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