代码只发送名称到数据库和发送电话号码到电子邮件字段


Code only sends name to DB and sends phone number to email field

我更新了每个建议的代码,但现在它只发送姓名到DB和发送电话号码到电子邮件字段。我已经复制了下面的新代码。

形式:

<form action="processor.php" method="post">
    <div class="field-box">
        <label>Name:</label>
        <input  type="text" name="name" />
    </div>
    <div class="field-box">
        <label>Age:</label>
        <input  type="text" name="age" />
    </div>
    <div class="field-box">
        <label>Phone Number:</label>
        <input type="text" name="phone" />
    </div>
    <div class="field-box">
        <label>Email:</label>
        <input type="text" name="email"/>
        <input type="submit">
</form>

和发送数据到processor.php的SQL:

function sendData() {  
    //Connecting to sql db.
    $connect = mysqli_connect("XXXXXX","XXXXXXXX","XXXXXXX","XXXXXXX");
    //setting values from HTML form
    $name  = mysqli_real_escape_string($connect, $_POST['name']);
    $age   = mysqli_real_escape_string($connect, $_POST['age']);
    $phone = mysqli_real_escape_string($connect, $_POST['phone']);
    $email = mysqli_real_escape_string($connect, $_POST['email']);
    //Sending form data to sql db
    mysqli_query($connect,"INSERT INTO users (name, age, phone, email) VALUES ('$name', '$age', '$phone', '$email')");
}
sendData();

只要把现有的查询换成这个,它就可以工作了。欢呼。

mysqli_query($connect,"INSERT INTO users (name, age, phone, email) VALUES ('" . $name . "', '" . $age . "', '" . $phone . "', '" . $email . "')");

尝试其他插入类型

mysqli_query($connect,"INSERT INTO users SET name='$name', age='$age',phone='$phone', email='$email')");

首先尝试用静态参数插入数据库。我的意思是像这样

mysqli_query($connect,"INSERT INTO users (name, age, phone, email) VALUES ('name', 'age', 'phone', 'email')");

并检查您的查询是否有效!但你也可以试试这个

mysqli_query($connect,"INSERT INTO users (name, age, phone, email) VALUES ('" . $name . "', '" . $age . "', '" . $phone . "', '" . $email . "')");

我建议你使用准备好的语句,如果可能的话,使用PDO

好运