みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Mysqlにhtmlのフォームから登録できません。

WindowsでphpからMysqlにデータを登録しようと思っているのですが、うまくいきません。

データベースの内容をHTML,PHPで書き出すことは正常にできたのですが、登校フォームから入力してもデータが書き込まれません。フォームのHTMLはおそらく間違ってないと思います。

これが受け入れ側のファイルの内容です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

<?php
extract($_POST);
mysql_connect('localhost','root','パスワード');
mysql_select_db('データベース名');
$sql = "insert into テーブル名 values('フィールド1の値','フィールド2の値','フィールド3の値','フィールド4の値',0)";
mysql_query($sql);
?>

</body>
</html>

ファイル名は.phpの拡張子で保存してます。
Mysqlの環境設定はできているのに何故データを登録できないのでしょうか?
詳しい方どうか教えてください。よろしくお願いします。

投稿日時 - 2008-04-19 17:47:05

QNo.3960127

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

phpでデータベースを操作する命令は、関数として実行されます
mysql_connect('localhost','root','パスワード');
は本来
$rt=mysql_connect('localhost','root','パスワード');
のようにして、呼び出した結果を$rtで受け取ります
それがどのような値かによって接続が成功したかどうか判断します
さらに
if( !$rt = mysql_connect( 'localhost','root','パスワード' ) ) exit( 'MySQLとの接続ができません');
と書いても良いのかもしれません。
それと
mysql_query($sql);
は、
mysql_query($sql,$rt);
のように書き、接続したときの戻り値が、そのデータベースとアクセスすときのキーとなります
その辺を、もう少しおさらいすることをお奨めします

投稿日時 - 2008-04-20 07:58:43

お礼

返事が遅くなりました。
ここ数日はデータベースをあきらめていた状態でした。
pipiさんのおっしゃることを参考に頑張ってみます。
ありがとうございました。

投稿日時 - 2008-04-22 17:55:46

ANo.1

mysql_connect('localhost','root','パスワード');
mysql_select_db('データベース名');
にはそれぞれ戻り値があるのですが、それはどういう値になってますか?

投稿日時 - 2008-04-19 18:58:22

お礼

お返事ありがとうございます。
まだまだ初心者なので、「それぞれの戻り値」というのがいまいちよくわかってません。
それはどういった時に作った値なのでしょうか?

投稿日時 - 2008-04-19 21:00:03

あなたにオススメの質問