O problema é que você está usando
bind_param
função no MySQL e não no $stmt
variável. O problema está nesta linha:
$stmt = $mysqli -> prepare("INSERT INTO `user`(`id_user`, `login`,`password`,`email`,`added`,`ip`) VALUES('', ? , ? , ? , now(), ?)");
$stmt = $mysqli -> bind_param("ssss", $login, $password, $email, $ip);
Em vez de digitar:
$stmt = $mysqli->bind_param("ssss", $login, $password, $email, $ip);
Você deve digitar:
$stmt = $stmt->bind_param("ssss", $login, $password, $email, $ip);
Desde o
bind_param
O método está disponível apenas no mysqli_stmt
aula. e não o mysqli
. Confira a documentação aqui .