1

こんにちは私は、このコードがhtmlテキストフィールドからのデータを実際のデータベースに挿入しない理由を理解していません。まず、First_Nameだけを使用してサンプリングしようとしています。

とにかくHTMLコードは次のとおりです:

<form action="Proform.php" name="Myform" method="post">

        <input type ="hidden" value="1" name="check_submit" />
        Please Enter First Name: <input type ="text" name="First_Name" /> <br />
        Please Enter Second Name: <input type ="text" name="Second_Name" /><br />
        Please Enter Email Address: <input type ="text" name="Email_Address" /><br />
        Please Enter A Password: <input type="password" name="Password" /><br />
        <input type ="submit" name"Submit" /><br />

    </form>

そして、phpとMYSQLは次のとおりです:

 <?php

    $dbname='ecig';
    $dbhost='localhost';
    $dbpass='password';
    $dbuser='eciguser';



    $dbhandle = mysql_connect($dbhost, $dbuser, $dbpass)
      or die("Unable to connect to MySQL");
    echo "Connected to MySQL<br>";


    $selected = mysql_select_db("ecig",$dbhandle)
      or die("Could not select examples");



    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]')");

    if (array_key_exists ('check_submit', $_POST )) 

    echo "Your Name is : {$_POST['First_Name']}<br />";
    echo "Your Second Name is : {$_POST['Second_Name']}<br />";
    echo "Your Email Address is : {$_POST['Email_Address']}<br />";
    echo "Your Password Is : {$_POST['Password']}<br />";

    ?>

このコード行と関係があるはずですが、私はそれを見つけることができません。あなたの誰かが何が悪いのかを見つけることができますか?

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]')");

どんな助けでも大歓迎です。ありがとう 。

4

6 に答える 6

1

first_nameとlast_nameを指定するクエリを指定していますが、first_nameのみを指定しています。

$res = mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]')");

試す:

$res = mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', '$_POST[Lirst_Name]')");
于 2013-03-26T12:34:32.973 に答える
1

挿入クエリが正しくありません。列と同じ数の値を指定する必要があります。

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]')");

する必要があります:

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', '$_POST[Last_Name]')");
于 2013-03-26T12:35:15.280 に答える
1

に渡す値は1つだけです

$ res = mysql_query( "INSERT INTO Persons(First_Name、Second_Name)VALUES('$ _ POST [First_Name]')");

、および挿入ステートメントに、名と2番目の名前の2つの値を挿入します。

これを試して:

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', '$_POST[Second_Name]')");

于 2013-03-26T12:36:01.940 に答える
1

これを試して:

これをphpコードに追加します。

$firstname             =    $_POST['First_Name'];
$secondname        =    $_POST['Second_Name'];

次に、クエリを次のように変更します。

    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('".$firstname."', '".$lastname."')");
于 2013-03-26T12:38:42.480 に答える
1
$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]')");

このクエリにはいくつか問題があります。まず、名から始めたいと言うので、名の列にのみ挿入する必要があります。

Persons (First_Name  ) VALUES
                    ^

次に、見て、変数に文字列を入力させていることを確認します。使用したい:

('{$_POST['First_Name']}')
  ^       ^          ^ ^

これはMySQL構文エラーである可能性が高いため、エラーテストも検討してください。あなたは付け加えられます

if (!$res) {
    die('Invalid query: ' . mysql_error());
}

注意: PHP 5.5で廃止されたため、MySQL_*は使用しないでください。MySQLi_*またはPDOを使用します。また、プリペアドステートメントとSQLエスケープを使用する必要があります。あなたは注射のために開いています。

于 2013-03-26T12:41:44.153 に答える
0
$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', '$_POST[Second_Name]')");
于 2013-03-26T12:34:27.693 に答える