- 最初に投稿した質問による 編集済み:
まず、sex-select
にハイフンを使用しています 列。
MySQLは、次のような数式を実行したいと考えています。
性別(マイナス)選択。
バックティックでラップし、photo
の列がありません
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
mysql_error()
を使用した mysql_query()
を使用 エラーの合図だったでしょう。
また、$sex-select
$sex_select
である必要があります 変数にもハイフンを使用しないでください。
したがって、これらのインスタンスをすべて$sex_select
に変更します。 あなたの価値観にも。
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
DBとテーブルの両方にcrop
という名前が付いていることに気付きました 。
$mysql_database = "crop";
および
mysql_query("INSERT INTO crop...
それらの1つが正しくない可能性があります。表とともに、DB名が本来あるべき名前であることを確認してください。それは私には正しく見えませんが、私は間違っている可能性があります。彼らが何と呼ばれるかを知っているのはあなただけです。
さらに、mysql_close($con);
これはmysql_close($bd);
である必要があります
$bd = mysql_connect
を使用しているため
エラーレポートを追加します ファイルの先頭に移動します。これは、本番テスト中に役立ちます。
error_reporting(E_ALL);
ini_set('display_errors', 1);
これは、エラーを通知しているはずですが、これはあなたが行っていないことであり、エラーをチェックしています。これは開発中に重要です。
編集: DB接続エラーチェックの場合:
代わりに:
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "crop";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
エラーが発生した場合は、以下を使用してエラーをキャッチします。 die("Could not connect database")
を使用する 十分ではありません。
crop
の場合 はデータベースではありません。MySQLが教えてくれます。
<?php
$bd = mysql_connect('localhost', 'root', '');
if (!$bd) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('crop', $bd);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
クエリについても同じです:
$result = mysql_query("INSERT INTO crop(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
VALUES ('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex-select', '$month','$day','$year')");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
さらに、HTMLフォームに従って:
<select name="sex-select" id="sex-select">
する必要があります
<select name="sex_select" id="sex-select">