$query = 'INSERT INTO `users`(`email`, `password`) VALUES ('.$login.', '.$password.')';
Во-первых, никогда, ни при каких обстоятельствах не склеивайте строку запроса с добавлением входных параметров, которые не прошли экранирование по sql нотации. Приклеили к строке запроса непроверенный параметр (а тем более пришедший напрямую от клиента) - считайте, что подписались на sql-инъекцию.
Адекватная подстановка параметров происходит только при правильной подготовке запроса функциями
mysqli_prepare() и mysqli_stmt_bind_param().
Для получения данных из БД нужна "правильная культура" общения с ней.
Правильная культура подразумевает:
1. После попытки подключения нужно проверить, а состоялось ли оно.
2. Прежде чем выполнить запрос, его текст нужно подготовить prepare-функцией.
3. Если есть входные параметры, то привязать их к запросу bind-функцией.
4. Запустить выполнение execute-функцией;
5. Получить результат запроса fetch-функцией;
6. Закрыть statement или вовсе закрыть соединение.
В этих пунктах еще нет шагов работы с транзакциями, но если присутствует вот этот минимум, то вы уже адекватно осуществляете процесс общения с СУБД.
В ваше случае нужно проверить, а состоялось ли подключение. Иначе нет смысла слать запросы.
Вот пример, где более-менее верно описан процесс взаимодействия с СУБД (взят с
www.php.su/mysqli_stmt_bind_param):
<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* execute prepared statement */
mysqi_stmt_execute($stmt);
printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));
/* close statement and connection */
mysqli_stmt_close($stmt);
/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));
/* close connection */
mysqli_close($link);
?>