我更新了每个建议的代码,但现在它只发送姓名到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
好运