php - 插入的数据未保存在phpmyadmin数据库中

时间:2016-01-17 10:48:50

标签: php mysql database

我想在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>

2 个答案:

答案 0 :(得分:0)

您的INSERT语句中有错误:

您在查询中使用countryname变量:

'$datacountry_name]'

我认为这应该是这样的:

'$data[country_name]'

旁注:

您使用 mysql_ 已弃用我建议您使用 mysqli _ PDO

其次你的代码是为SQL注释打开的,你需要使用sql注入来阻止它。

答案 1 :(得分:-1)

它的函数接收一个数组,然后检查你的数组。 db中的类型字段,如果正确填充。 field int type = int value

如果以字符串形式返回,则可以将其转换为:

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

或使用类型varchar到字段 如果不是这样,请详细说明您的代码。