Ошибка в синтаксисе SQL при попытке запроса

У меня большая (и глупая) проблема с простой вставкой SQL для запроса (MySQL), я уже использовал этот формат без ошибок, но теперь не работает ..

пожалуйста, помогите мне найти проблему ..

//Get admin form details
$a_user = $_POST["a_user"];
$a_pass = $_POST["a_pass"];
$a_pin = $_POST["a_pin"];

if($a_user == "$admin_username" && $a_pass == "$admin_password" && $a_pin == "$admin_pin"):
$keygen = md5(microtime().rand());
$mysqli->query("INSERT INTO keys (keygen) VALUES ('$keygen')") or die(mysqli_error($mysqli));
$mysqli->close;
else:
header("Location: ?page=admin&error=1");
endif;

Вот ошибка:

Ошибка: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с «keys (keygen) VALUES (’85faa7f618e433819d7e5ca57076377c’) ‘в строке 1

1

Решение

keys такое зарезервированное слово MySQL http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

Или оберните это в кавычки или используйте другое имя для этого.

INSERT INTO `keys`

Примечание:

MD5 устарел и считается сломанным, если вы собираетесь использовать его в целях пароля.

использование CRYPT_BLOWFISH или PHP 5.5 password_hash() функция.
Для PHP < 5.5 использовать password_hash() compatibility pack.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]