У меня есть это вставить данные в базу данных MySQLiошибка вставки в Mysqli базу данных
<?php
$servername = "localhost";
$username = "XXXXX";
$password = "XXXXX";
$dbname = "XXXXX";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$ip_address = $_SERVER['REMOTE_ADDR'];
$last_url = $_SERVER['HTTP_REFERER'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO url_referer (url_referer, ip address, current_url) VALUES ('$last_url', '$ip_address', '$url')";
if ($conn->query($sql) === TRUE) {
echo " ";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Я получаю эту ошибку:
Error: INSERT INTO url_referer (url_referer, ip address, current_url) VALUES ('', '72.69.102.254', ' http://bithumor.co/ ') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'address, current_url) VALUES ('', '72.69.102.254', ' http://bithumor.co/ ')' at line 1
Как это исправить?
Не забудьте указать ВСЕ столбцы, которые существуют в таблице, даже если установлено значение auto increment. – OllyBarca
Вам не хватает _ между «ip-адресом» должно быть 'ip_address'. Посмотрите на двух других, которые делают это. Также довольно уверен, что mysql недовольны coloums, используя имена, содержащие пробел. – Epodax
Sidenote о '$ _SERVER ['HTTP_REFERER']'. Это ненадежно. Прочитайте http://stackoverflow.com/a/6023980/, после чего этот «ip-адрес» даст вам проблемы. Используйте тики '\' 'или присоединяйтесь к этим двум словам с подчеркиванием. –