sql >> データベース >  >> RDS >> Mysql

PHPのデータベースにデータを保存する際の問題

    まず、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">
    


    1. c3p0では接続が利用できない場合があります

    2. java.sql.SQLException:mysqlの結果セットの終了後

    3. postgres列エイリアスの問題

    4. MySQLで選択した値をマッピングする