※ ChatGPTを利用し、要約された質問です(原文:フォームからmySQL-DBにデータ登録したいです。)
フォームからmySQL-DBにデータ登録したいです
このQ&Aのポイント
質問者は、FedoraCore6 + Apache2.2.4 + MySQL5.0.41 + PHP4.4.7を使用して、フォームからmySQL-DBにデータを登録したいです。
具体的には、'aaa'という名前のテーブルを作成し、入力フォームを作成してデータを登録しようとしています。
しかし、現在のコードでは書き込みができない状況であり、原因を特定することができません。質問者は、どこが間違っているのかを知りたいとしています。
フォームからmySQL-DBにデータ登録したいです。
FedoraCore6 + Apache2.2.4 + MySQL5.0.41 + PHP4.4.7 で学習しています。
TABLE aaa( id MEDIUMINT NOT NULL AUTO_INCREMENT, hiduke DATE, xyz INT, comment VARCHAR(30), PRIMARY KEY (id) ); という表を作り、
入力フォーム [TEST.html]
<html><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head>
<body><p>データ入力</p>
<form action="datatest.php" method="POST">
<p>日付<input type="text" name="hiduke" size="12"></p>
<p>データ<input type="text" name="xyz" size="6"></p>
<p>コメント<input type="text" name="comment" size="40"></p>
<input type="submit" value="登録">
<input type="reset" value="リセット">
</form></body></html>
------------------
書込スクリプト [datatest.php]
<html><body>
<php
extract($_POST);
mysql_connect(localhost,bbbbbb,******);
mysql_select_db(cccccc);
$sql = "insert into aaa values(0 '$hiduke','$xyz','$comment')";
mysql_query($sql);
?>
下記の内容で登録しました<p>
日付:<? echo $hiduke; ?> <br>
データ:<? echo $xyz; ?> <br>
コメント:<? echo $comment; ?> <br>
<p></body></html>
でデータを登録しようとしましたが書き込みができません。何が悪いのでしょうか?
基本的なところが間違っていると思い、いろいろ調べましたが、私の現在の力では原因を見つけることができないでいまず。よろしくご指導下さい。
なお、コマンドラインから、insert into aaa values(0, 20071008,3840,'qqqqq'); なら書込みできます。
お礼
自己レスです。書込スクリプト書き始めが <php となっていました! <?php に修正したら正常に動きました。お恥ずかしいです。 しかし、yambejp様、sqlデバッグの方法を教えていただき、大変参考になりました。Webで検索してもsql文を「printして確認する」「print_rで確認する」などとあって、具体的にどのようにすれば良いか、分からなかったのです。ありがとうございました。 折角ですので、もし宜しければ、「printして確認する」「print_rで確認する」の具体的方法も教えて頂ければ幸いです。もう少し時間を置いて締め切らせて頂こうと思っています。
補足
あ、すみません。 values(0 の後ろのカンマは、この質問を書き込むときに書き落としたのです。テスト用は、カンマが入っています。それでもデータが書き込めないのです・・・。