-1

次のコード (html / SQL) では、コードの実行に失敗します。私はMySQLが得意ですが、私のコードは次のとおりです。

依頼された注文

入力項目と数量

<input type="text" name="email" size="40"><br>

<input type="text" name="item_one" size="40"><br>

<input type="text" name="item_two" size="40"><br>

<input type="text" name="item_three" size="40"><br>

<input type="text" name="item_four" size="40"><br>

<input type="text" name="item_five" size="40"><br>

<input type="text" name="item_six" size="40"><br>

<input type="text" name="item_seven" size="40"><br>

<input type="text" name="item_eight" size="40"><br>

<input type="text" name="item_nine" size="40"><br>

<input type="text" name="item_ten" size="40"><br>

<input type="text" name="item_eleven" size="40"><br>

<input type="text" name="item_twelve" size="40"><br>

<input type="text" name="item_thirteen" size="40"><br>

<input type="text" name="item_fourteen" size="40"><br>

<input type="text" name="item_fifthteen" size="40"><br>

<input type="submit" name="submit" value="Sent">

ここに function.php があります

<?php
//the example of inserting data with variable from HTML form
//function.php
mysql_connect("localhost","root","");//database connection
mysql_select_db("order_db");

//inserting data order
$order = "INSERT INTO requested_inventory
            (name, email, item_one, item_two, item_three, item_four, item_five, item_six, item_seven, item_eight, item_nine, item_ten, item_eleven, item_twelve, item_thirteen, item_fourteen, item_fifthteen)
            VALUES
            ('name',
            'email', 'item_one', 'item_two', 'item_three', 'item_four', 'item_five', 'item_six', 'item_seven', 'item_eight', 'item_eight', 'item_nine', 'item_ten', 'item_eleven', 'item_twelve', 'item_thirteen', 'item_fourteen', 'item_fifthteen')";

//declare in the order variable
$result = mysql_query('$order');    //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
}
?>

どこで間違ったのかわかりません。例の助けをいただければ幸いです。

注:これはlocalhostマシン上にあるため、セキュリティを完全にする必要はありません。そのため、パスワードなしでルートを使用しています。

4

4 に答える 4

2

あなたは余分なフィールドをitem_eight2回持っています.try like

"INSERT INTO requested_inventory
(name, email, item_one, item_two, item_three, item_four, item_five, item_six, item_seven, item_eight, item_nine, item_ten, item_eleven, item_twelve, item_thirteen, item_fourteen, item_fifthteen)
VALUES
('name','email', 'item_one', 'item_two', 'item_three', 'item_four', 'item_five', 'item_six', 'item_seven', 'item_eight', 'item_nine', 'item_ten', 'item_eleven', 'item_twelve', 'item_thirteen', 'item_fourteen', 'item_fifthteen')";

また、次のように実行してみてください

$result = mysql_query($order);

あなたのコメントに従って、次のような挿入クエリを実行してみてください

CREATE TABLE IF NOT EXISTS `requested_inventory`
(name varchar(20), email varchar(20), item_one varchar(20), item_two varchar(20), item_three varchar(20), item_four varchar(20), item_five varchar(20), item_six varchar(20), item_seven varchar(20), item_eight varchar(20), item_nine varchar(20), item_ten varchar(20), item_eleven varchar(20), item_twelve varchar(20), item_thirteen varchar(20), item_fourteen varchar(20), item_fifthteen varchar(20));

必要に応じてデータ型を変更できます

于 2013-07-10T05:32:52.183 に答える
1

これを変える

$result = mysql_query('$order');

$result = mysql_query($order);

単一引用符内の変数は、通常のテキストとして扱われます。直接の変数名を使用するか、二重引用符で囲みます。

于 2013-07-10T05:36:29.343 に答える
0
$result = mysql_query($order); 

これを置き換えて、idフィールドが自動インクリメントされているかどうかを確認してください。または、取得しているエラーメッセージを提供してください。

于 2013-07-10T05:35:49.977 に答える
0
<?php

$order = "INSERT INTO requested_inventory
            (name, email, item_one, item_two, item_three, item_four, item_five, item_six, item_seven, item_eight, item_nine, item_ten, item_eleven, item_twelve, item_thirteen, item_fourteen, item_fifthteen)
            VALUES
            ('$_REQUEST[name]',
            '$_REQUEST[email]', '$_REQUEST[item_one]', '$_REQUEST[item_two]', '$_REQUEST[item_three]', '$_REQUEST[item_four]', '$_REQUEST[item_five]', '$_REQUEST[item_six]', '$_REQUEST[item_seven]', '$_REQUEST[item_eight]', '$_REQUEST[item_eight]', '$_REQUEST[item_nine]', '$_REQUEST[item_ten]', '$_REQUEST[item_eleven]', '$_REQUEST[item_twelve]', '$_REQUEST[item_thirteen]', '$_REQUEST[item_fourteen]', '$_REQUEST[item_fifthteen]')";

//declare in the order variable
$result = mysql_query($order);    //order executes

?>

また、クエリに追加mysql_real_escape_stringします

また、mysql_queryサポートが終了したことをお知らせします

于 2013-07-10T05:41:47.937 に答える