2016-04-17 34 views
0

ちょっと私はPHPの初心者ですので、私はあなたが助けてください。タイトルは、私はデータベーステーブルに変数の値を格納しようとしていると言う。php - mysqlデータベースに変数の値を格納する方法

これは私の書いたPHPコードですが、動作していないようです。データベースに値を格納しているようには見えません。

<?php 
    // to connect to database 
    require("user_connection.php"); 

    $query = "INSERT INTO booked (date, computer_id, name, start_time, end_time) VALUES ('$date', '$select3', '$username', '$select1', '$select2')"; 

    mysqli_query($query);  
?> 

あなたは私のコードに何か問題がある場合、私がチェックする助けてくださいすることができます。データベーステーブルは "予約済み"と呼ばれ、列は "date、computer_id、name、start_time、end_time"です。以下はページの完全なコードです

<?php 

    // starts a session and checks if the user is logged in 
    error_reporting(E_ALL & ~E_NOTICE); 
    session_start(); 

    if (isset($_SESSION['id'])) { 
     $userId = $_SESSION['id']; 
     $username = $_SESSION['username']; 


    } else { 
     header('Location: index.php'); 
     die(); 

    } 

?> 



<!DOCTYPE html> 

<html> 
<body> 



         <!-- heading --> 
     <div id="intro">Thankyou for booking a slot using the booking system.</div> 


         <!-- echo out information --> 

     <div id="fonts"> 

     <h4>Below is the information of your booking:</h4> 

      </br> 
      </br> 

     <b>Student Name:</b> <?php echo $username; // echo's name ?> 
      </br> 
      </br> 



     <b>Room No:</b> <?php $room = $_SESSION['g']; 

       echo $room; // echo's room ?> 
      </br> 
      </br> 



     <b>Computer No:</b> <?php 

       $select3 = $_POST['bike']; 
       echo $select3; 
       ?> 
      </br> 
      </br> 



     <b>Date:</b> <?php $date = $_POST['datepicker']; 
       echo $date; // echo's date 
       ?> 
     </br> 
     </br> 



     <b>Start Session and End Session:</b> <?php 
       if(isset($_POST['select1']) && isset($_POST['select2'])) { 
       $select1 = $_POST['select1']; 
       $select2 = $_POST['select2']; 
       echo $select1; 
       echo ""; 
       echo $select2; 
       } 
       else{ 
       echo "not set"; 
       } 
       ?> 

     </div> 





     <?php 

      // to connect to database 
      require("user_connection.php"); 

      $query = "INSERT INTO booked (date, computer_id, name, start_time, end_time) VALUES ('$date', '$select3', '$username', '$select1', '$select2')"; 

      mysqli_query($query); 


     ?> 






    </body> 


    <footer> 
     <p>Copyright © 2016 MyComputer &nbsp; | &nbsp; Contact information: <a href="mailto:[email protected]">[email protected]</a></p> 
    </footer> 

</html> 
+0

あなたは「働いていない」というより具体的なことができますか?確かに何も提出されない場合でもクエリを実行します。以前の 'if'文の中でクエリを移動しなければなりません。 – fusion3k

答えて

1

まず、mysqliのPDOインスタンスを使用することをお勧めします。 herehereの理由に関する詳細情報が表示されます。 PDOの方法で

、あなたのコードはこのような何かをもたらすであろう:準備文を使用することにより

$sql = "INSERT INTO booked (date, computer_id, name, start_time, end_time) VALUES (?,?,?,?,?)"; 
    $data = array($date, $select3, $username, $select1 ,$select2); 
    $sth = $this->_db->prepare($sql); 
    $sth->execute($data); 

、あなたは、SQLインジェクションから保護しています。

関連する問題