2017-11-20 16 views
1

私は、このような質問が下落されたり閉じたりしていることを理解していますが、これまでの質問をすべて終えて解決策を見つけることはできませんでした。コードは、HTMLフォームからの入力を受け入れてMySQLデータベースに挿入し、別のページに表示されるはずですが、どういうわけか、失敗した文で終了し、ログインページにリダイレクトされます。PHPにデータを挿入することができません

<?php 
     if (isset($_POST['eTransport_ID'])){ 
      $id = ($_POST['eTransport_ID']); 
     } 

     if (isset($_POST['Phone_No'])){ 
      $phone = ($_POST['Phone_No']); 
     } 

     if (isset($_POST['Amount'])){ 
      $amount = ($_POST['Amount']); 
     } 
     $DATEE = date("Y-m-d"); 
     $TIMEE = date("h:i:sa"); 

     $query = "INSERT INTO recharge_history(Date, Time, Amount, Agent_No, eTransport_ID) VALUES ('$DATEE', '$TIMEE', '$amount', 'WEB', '$id')"; 
     $added = mysqli_query($conn, $query); 

     if(!$added){ 
      die("Database query failed."); 
     } 
     else{ 
      echo "Data Entered Successfully"; 
     } 

     mysqli_close($conn); 
    ?> 

MySQL Table

+0

は、あなたの '$のquery'をエコーし​​、あなたのDBMSに – Beginner

+0

試して、それを実行し、手動で試す{ $クエリをここに } キャッチ(例外の$ e)の { ますprint_r($電子); } –

+0

あなたの声明にはどこに問題があるかを知ることができます –

答えて

0
  1. これは別に私が 'と仮定してい
  2. (あなたの質問には、セキュリティに関するものではありません)ので、に見てください深刻なSQLインジェクションの脆弱性を持っているBADコードです日付はDATE列です
  3. 私は 'Time'がTIME列であると仮定しています
  4. Agent_NoはINTカラムですが、文字列を挿入しています。私は "1"の代わりにそれを別々に見なければならないでしょう。

私の仮定が正しい場合は、ちょうどまで正確にこのクエリの行を変更(例:コピーして貼り付け):

$query = "INSERT INTO recharge_history (`Date`, `Time`, `Amount`, `Agent_No`, `eTransport_ID`) VALUES (NOW(), NOW(), $amount, 'WEB', $id)"; 
+0

以前のエージェント番号は以前のINTデータ型でしたが、Top Upエージェントがマシンを介してIDカードを再充電し、エージェント番号を持つようにして、Web上で区別するためにVARCHARに変更しました。 'WEB'を入力して、ウェブページを通じてトップアップが行われたことを示します。しかし、私はあなたの提案を試してみましたが、残念ながらうまくいきませんでした:( –

+0

よろしくお願いします。 –

0

$クエリ=「(recharge_historyに日付を入れ、時間、金額、 Agent_No、eTransport_ID)VALUES( '$ DATEE'、 '$ TIMEE'、 '$ amount'、 'WEB'、 '$ id') ";

あなたはこの

$クエリ= "recharge_history。INSERT INTO(日付、時刻、金額、Agent_No、eTransport_ID)VALUES($ DATEE、$ TIMEE、$量、$電話は、$ ID)" のようなクエリを書くことができます;

関連する問題