@Vladislav105

Почему mysqli_prepare возвращает false?

Впервые происходит подобное. Соединение с бд есть, ошибок mysqli_prepare( ) не выводится, но возвращает false. Вот код:
$connect = mysqli_connect("localhost", "$user", "$pass", "$bd");

$sql = "INSERT INTO e-mails (email, ip) VALUES (?, ?)";
$stmt = mysqli_prepare($connect, $sql);
mysqli_stmt_bind_param($stmt, 'ss', $email, $_SERVER['REMOTE_ADDR']);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($connect);

Перерыл весь интернет и не могу найти решение. Буду очень благодарен за помощь
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что MySQL читает вашу команду как
INSERT INTO `e` - `mails` (`email`, `ip`) VALUES (?, ?)

Используйте обратные кавычки, чтобы указать, что это имя колонки, а не математическое выражение. А лучше не используйте неоднозначных имён.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы