@okha22

Не срабатывает sql запрос. Как быть?

не срабатывает SQL запрос на добавление нового пользователя в БД
$sql = "INSERT INTO `users` (`phone`,`name`,`fio`,`user_email`,`user_password`,`activity`,`twath`,
`actvml`,`vmlstr`,`code`,`group`,`city`,`DateReg`,`LastEnter`,`user_ip`,`user_login`,`skin`,`sex`,`money`) 
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $db->prepare($sql);
$stmt->bind_param("ssssssssssssssssssi", $phone,$name,'-',$mail,$pasw,1,0,0,1,$code,1,$city,
$dreg,$dreg,$ip,$login,0,$sex,0);
$res = $stmt->execute();
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Не выполняется mysql запрос

Но в данном случае можно сократить путь "получение сообщения об ошибке - чтение сообщения об ошибке - гугление сообщения об ошибке".
Надо эти черточки и нолики перенести из bind_param в сам запрос.
Ответ написан
Комментировать
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Чтобы исправить используйте следующий трюк. Создаем массив значений, а потом используем деструктор

$sql = "INSERT INTO `users` (`phone`,`name`,`fio`,`user_email`,`user_password`,`activity`,`twath`,`actvml`,`vmlstr`,`code`,`group`,`city`,`DateReg`,`LastEnter`,`user_ip`,`user_login`,`skin`,`sex`,`money`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $mysqli->prepare($sql);

$params = [$phone, $name, '-', $mail, $pasw, 1, 0, 0, 1, $code, 1, $city, $dreg, $dreg, $ip, $login, 0, $sex, 0];

$stmt->bind_param("ssssssssssssssssssi", ...$params);
$res = $stmt->execute();


https://phpize.online/s/rW
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы