Эта ошибка показывает, что по какой-то причине знаки вопроса не привязаны к соответствующим переменным.MySQL жалуется, потому что знаки вопроса не инкапсулированы с указанием ""
.
Ass @RiggsFolly, вам не нужно вызывать $conn->real_escape_string
, поскольку вы используете подготовленные операторы.
(Кроме того, нет необходимости проверять isset()
и пустую строку, empty()
в любом случае делает isset
)
<?php
// db has to be manually created first
$host = "localhost";
$userName = "user";
$password = "";
$dbName = "test";
// Create database connection
$conn = new mysqli($host, $userName, $password, $dbName);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(!empty($_POST['your_name']) && !empty($_POST['your_email']) {
$sql = "INSERT INTO contact_form_info (name, email, phone, comments) VALUES (?,?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssss", $_POST['your_name'], $_POST['your_email'], $_POST['your_phone'],$_POST['comments']);
$stmt->execute();
}