2016-01-17 50 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注入。