PHP / MySQL: сбой bind_param при использовании функции mysql внутри подготовленного оператора

У меня проблемы с шифрованием пароля при добавлении записи в mysql с использованием параметров, связанных с php. Все работает отлично, 2 параметра ($ username и $ password) вставляются прямо в поле имени пользователя и пароля. Но когда я пытаюсь добавить третью переменную $ salt и вставить пароль с помощью функции sha2, она больше не будет работать правильно. Код ниже будет выводить на мою консоль отладки «не удалось выполнить» каждый раз. Зачем?

$stmt = $GLOBALS['mysqli']->stmt_init();
$sql = "INSERT INTO users ( username, password ) VALUES ( ?, sha2(concat(?,?),256) ) ";
if($stmt->prepare($sql)){
$stmt->bind_param('sss',$username,$password,$salt);
if($stmt->execute()){
if($stmt->affected_rows>0){ $userID=$stmt->insert_id; }
}
else{ wdebug("couldn't execute"); }
$stmt->close();
}

1

Решение

Задача ещё не решена.

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

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

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