Ошибка указывает на то, что после создания нового экземпляра mysqli объекта не стоит точка с запятой. В PHP, каждая команда должна заканчиваться точкой с запятой, иначе интерпретатор не сможет понять, где кончается одна команда и начинается другая.
Исправленный код будет выглядеть так: Также, примите во внимание, что прямое использование введенных пользователем данных в запросе SQL может представлять угрозу безопасности. Это называется SQL-инъекцией, и это одна из наиболее распространенных угроз безопасности в веб-приложениях. Рекомендуется использовать подготовленные выражения (prepared statements) или другие методы предотвращения SQL-инъекций.
Во первых: $mysql = new mysqli('localhost', 'root', '---', '---') setcookie('user', $user['name']) header('location: /') $result = $mysql->query("SELECT * FROM 'users' WHERE 'login' = '$login' AND 'pass' = '$pass'") echo "Такой пользователь не найден"
Где точка с запятой в конце строки?
Во вторых - неправильные кавычки тут: SELECT * FROM 'users' WHERE 'login' = '$login' AND 'pass' = '$pass' Должны быть: SELECT * FROM `users` WHERE `login` = '$login' AND `pass` = '$pass'