У меня есть следующий код, который работал на предыдущем сайте, но больше не работает. Я изменил значения на значения, которые мне теперь нужно вводить, и дважды проверял их имена.Ошибка Mysql - У вас есть ошибка в синтаксисе SQL
<?php
/*
Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password)
*/
$link = mysqli_connect("localhost", "***", "***", "***");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
$cname = mysqli_real_escape_string($link, $_POST['cname']);
$name = mysqli_real_escape_string($link, $_POST['name']);
$contact = mysqli_real_escape_string($link, $_POST['contact']);
$reason = mysqli_real_escape_string($link, $_POST['reason']);
// attempt insert query execution
$sql = "INSERT INTO keys (cname, name, contact, reason) VALUES ('$cname', '$name', '$contact', '$reason')";
if(mysqli_query($link, $sql)){
echo "<script>alert('User added!')</script>";
echo "<script>window.open('index.php','_self')</script>";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
?>
Все, что я получаю следующее сообщение об ошибке при отправке формы:
Mysql ошибка - У Вас есть ошибка в вашем SQL синтаксиса
Что я делаю неправильно?
'keys' является зарезервированным словом mysql. –
@GurwinderSingh Неверный синтаксис; MySQL использует backticks, а не скобки. См. Https://dev.mysql.com/doc/refman/5.5/en/identifiers.html. –