0

私は、phpフォーム処理スクリプトへの単純な追加と思われるものをまとめました(データを電子メールに送信した後、データベースに挿入するため)。

何らかの理由で、常にエラー メッセージが表示され、データの実際の入力がデータベースに到達しません。出力にクエリを追加しましたが、受け取った値はすべて問題ないようです。

前もって感謝します。

// username, passw, database are all defined earlier in code.
// all the variables are taken out of form inputs (and they all arrive fine by email.
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

//inserting data order
$order = "INSERT INTO flights('restime', 'flyfrom', 'flyto', 'dateoutbound', 'outboundflex', 'datereturn', 'returnflex', 'pax', 'klasse', 'name', 'email', 'phone', 'comments', 'status') VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

//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");
    echo $order;
}

よろしくお願いします。

4

3 に答える 3

0

エラーはこのクエリにあります:

$order = "INSERT INTO flights('restime', 'flyfrom', 'flyto', 'dateoutbound', 'outboundflex', 'datereturn', 'returnflex', 'pax', 'klasse', 'name', 'email', 'phone', 'comments', 'status') VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

テーブルの列名に`を使用'しているにもかかわらず、使用しています。

このクエリを使用すると、うまくいくと確信しています

$order = "INSERT INTO testone (`restime`, `flyfrom`, `flyto`, `dateoutbound`, `outboundflex`, `datereturn`, `returnflex`, `pax`, `klasse`, `name`, `email`, `phone`, `comments`, `status`) VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

:)

于 2013-08-19T14:19:27.717 に答える
0

クエリのフィールドに一重引用符を使用しないでください。バッククォートを使用すると、エラーは発生しません。次のように

クエリのエラーをチェックするには、mysql_error() 関数を使用する必要があります。以下のコードを確認してください。

もう1つ問題が見つかりました。mysql_connect 関数では、ホスト名を一重引用符で囲む必要があります。これもエラーの原因となります。

次のコードを使用しました。それは私にとってはうまくいっています。

<?php mysql_connect('localhost','root','');
@mysql_select_db('test') or die( "Unable to select database");





//inserting data order
$order = "INSERT INTO testone (`restime`, `flyfrom`, `flyto`, `dateoutbound`, `outboundflex`, `datereturn`, `returnflex`, `pax`, `klasse`, `name`, `email`, `phone`, `comments`, `status`) VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

//declare in the order variable
$result = mysql_query($order) or die(mysql_error());  //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
    echo $order;
}
于 2013-08-19T13:38:31.713 に答える