2017-02-10 52 views
0

我正在寫一個簡單的PHP程序來插入學生信息到mysql數據庫並用用戶ID迴應。這個腳本有時候效果不錯。但有時它不起作用。這種行爲有什麼可能的原因。如果我的程序有任何錯誤,請提出修正建議。以下是我的學生註冊腳本和mysql數據庫功能。我不擅長PHP,請提供更正如果有更多PHP腳本有時會插入數據到數據庫中,有時候不會

<?php 
    $username = $_POST['name']; 
    $clgName = $_POST['clg_name']; 
    $branch = $_POST['branch']; 
    $sem = $_POST['sem']; 
    $mobile = $_POST['mobile']; 
    $email = $_POST['email']; 
    $profile_pic_color = $_POST['profile_pic_color']; 
    $deviceId = $_POST['device_id']; 

    include "DatabaseHandler/DBFunctions.php"; 

    $db = new DBFunctions(); 

    $query = "INSERT INTO user_details(user_name, user_clgName, user_branch, user_sem, user_mobile, user_email, profile_color, device_id) values('$username', '$clgName', '$branch','$sem', '$mobile', '$email', '$profile_pic_color', '$deviceId')"; 

    list($result, $mysqli) = $db->select($query); 

    $query = "SELECT MAX(user_id) FROM user_details"; 

    if($mysqli->affected_rows > 0){ 

     list($result, $mysqli) = $db->select($query); 

     $arr = array(); 

     if($result){ 
      $row = $result->fetch_array(); 
      $arr[] = $row; 
      echo json_encode($arr); 
     } 
    } 

?> 

這是我的數據庫管理器PHP SCRIPT。

<?php 


    class DBFunctions{ 



     public function connect(){ 
      include "DBConfig.php"; 
       $mysqli = new mysqli($domain, $username, $password, $database); 

      return $mysqli; 
     } 

     public function query($query){ 
       // Connect to the database 
      $mysqli = $this -> connect(); 

      // Query the database 
      $result = $mysqli -> query($query); 

      return array($result, $mysqli); 
     } 

     public function select($query){ 

      $mysqli = $this -> connect(); 

      $result = $mysqli -> query($query); 

      if($result === false) { 
         return false; 
       } 

       return array($result, $mysqli); 
     } 
    } 
?> 
+0

任何約束?獨特的列? –

+0

只是主鍵與auto_increment –

+0

什麼'但有時它不工作.'是什麼意思?它說什麼,什麼時候不工作?哪個是錯誤? –

回答

0

我發現此行爲的原因。一些輸入字符串有單引號。由於該SQL查詢語法失敗。使用PHP的real_escape_string()函數。現在它運作良好。謝謝大家

+0

這是防止SQL注入的最煩人的方式。我建議你使用準備好的語句。 –

相關問題