2016-01-17 65 views
0

我想將我的數據保存在我的phpmyadmin數據庫中,但它不能保存。因此,雖然救了我的數據,它刷新頁面,但在數據庫中的數據沒有顯示php - 插入的數據未保存在phpmyadmin數據庫中

這裏是我的課由我想要保存的數據:

class User{ 
    public function __construct(){ 

     $host='localhost'; 
     $user='root'; 
     $password=''; 
     $conn=mysql_connect($host,$user,$password); 
     if(!$conn){ 
      die("Database Not Connected" . mysql_error()); 
     } 

     mysql_select_db("db_sign_up"); 
     echo "Database created! "; 
    } 

    public function save_user($data){ 
     $sql="INSERT INTO tbl_user(first_name,last_name,email_address,password,mobile_number,address, 
            city_name,country_name,zip_code) 
        VALUES('$data[first_name]','$data[last_name]','$data[email_address]','$data[password]', 
        '$data[mobile_number]','$data[address]','$data[city_name]','$datacountry_name]','$data[zip_code]')"; 
      if(!mysql_query($sql)){ 
       die("sl Error". mysql_error()); 
      } 
      echo "Saved Successfully!"; 
      //mysql_close($conn); 
    } 
} 

這裏是UI

<?php 
    require_once './classes/user.php'; 
    $obj=new User(); 
    if(isset($_POST['btn'])){ 
     $obj->save_user($_POST); 
    } 
?> 

<html> 
<head><title> Database Basic</title></head> 
<body> 
    <form action="sign_up.php" method="post"> 
     <table border="1"> 
      <tr><td>Personal Information</td><td></td></tr> 
      <tr> 
       <td> First Name</td> 
       <td> 
        <input type="name" name="first_name" value="<?php if(isset($_POST['first_number'])){ echo htmlentities($_POST['first_name']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td> Last Name</td> 
       <td> 
        <input type="name" name="last_name" value="<?php if(isset($_POST['last_name'])){ echo htmlentities($_POST['last_name']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td> Email Address</td> 
       <td> 
        <input type="name" name="email_address" value="<?php if(isset($_POST['email_address'])){ echo htmlentities($_POST['email_address']);} ?> "/> 

       </td> 
      </tr> 
      <tr> 
       <td> Password</td> 
       <td> 
        <input type="password" name="password" value="<?php if(isset($_POST['password'])){ echo htmlentities($_POST['password']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td> Mobile Number</td> 
       <td> 
        <input type="name" name="mobile_number" value="<?php if(isset($_POST['mobile_number'])){ echo htmlentities($_POST['mobile_number']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td> Address</td> 
       <td> 
        <textarea name="address" rows="4" cols="30"></textarea> 
       </td> 
      </tr> 
      <tr> 
       <td> City</td> 
       <td> 
        <input type="" name="city_name" value="<?php if(isset($_POST['city_name'])){ echo htmlentities($_POST['city_name']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td> Country</td> 
       <td> 
        <select name="country_name"> 
         <option value=" ">Select Country ...</option> 
         <option value="bangladesh">Bangladesh</option> 
         <option value="srilanka">Srilanka </option> 
         <option value="india">India</option> 
        </select> 
       </td> 
      </tr> 
      <tr> 
       <td> Zip Code</td> 
       <td> 
        <input type="name" name="zip_code" value="<?php if(isset($_POST['zip_code'])){ echo htmlentities($_POST['zip_code']);} ?> "/> 
       </td> 
      </tr> 
      <tr> 
       <td></td> 
       <td> 
        <input type="submit" name="btn" value="Save"> 
       </td> 
      </tr> 
     </table> 
    </form> 
</body> 
+0

請顯示您的編碼.. –

+0

added..please check。 – Hola

+0

是'$ data'變量是數組嗎? –

回答

-1

其函數接收一個數組,然後檢查你的數組。數據庫中的類型字段,以及是否正確填充。 場整型= int值

如果它返回一個字符串,你可以將這個:

$string = $data[mobile_number]; 
$int = (int)$string; // convert string type for int. 

或使用varchar類型的字段 如果不是的話,多說關於您的碼。

+0

電話號碼經常以'0'開頭。你不能把它們看作整數。 – Quentin

+0

我不使用數字前面的零來保存數據庫。 :) 但是隻是舉了一個例子 –

+0

感謝-1昆汀,我很高興看到人們negativando只因爲他們認爲每個人都是平等的。 在我的國家,沒有以「0」開頭的電話號碼 –

0

您有一個錯誤在你的INSERT語句:您正在使用COUNTRYNAME變量在查詢中爲

'$datacountry_name]' 

我想這應該是這樣的:

'$data[country_name]' 

附註:

你一個重新使用mysql_ 其已棄用我建議您使用mysqli_PDO

其次你的代碼是打開SQL注入,你需要防止與SQL注入。