- 締切済み
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の環境設定はできているのに何故データを登録できないのでしょうか? 詳しい方どうか教えてください。よろしくお願いします。
- みんなの回答 (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); のように書き、接続したときの戻り値が、そのデータベースとアクセスすときのキーとなります その辺を、もう少しおさらいすることをお奨めします
mysql_connect('localhost','root','パスワード'); mysql_select_db('データベース名'); にはそれぞれ戻り値があるのですが、それはどういう値になってますか?
お礼
お返事ありがとうございます。 まだまだ初心者なので、「それぞれの戻り値」というのがいまいちよくわかってません。 それはどういった時に作った値なのでしょうか?
お礼
返事が遅くなりました。 ここ数日はデータベースをあきらめていた状態でした。 pipiさんのおっしゃることを参考に頑張ってみます。 ありがとうございました。