Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Register.php :
if(empty($errors)) { $req = $pdo->prepare($pdo = "INSERT INTO users SET username = ?, password = ?, email = ?, confirmation_token = ?"); $password = password_hash($_POST['password'], PASSWORD_BCRYPT); $token = str_random(60); $req->execute([$_POST['username'], $password, $_POST['email'], $token]); $user_id = $pdo->lastInsertId(); mail($_POST['email'], "Confirmation de votre compte", "Afin de valider votre compte merci de cliquer sur ce lien\n\nhttp://local.dev/App/confirm.php?id=$user_id&token=$token"); header('Location: login.php'); exit(); }

db.php :
<?php $pdo = new PDO('mysql:dbname=network;host=localhost', 'root', ''); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);

Ce que je veux

Que le script ne pose pas de problème ? :)

Ce que j'obtiens

J'obtiens une erreur de ce type :

( ! ) Fatal error: Call to a member function lastInsertId() on string in D:\Sites\App\register.php on line 43

Le fichier db.php est bien importé au tout début comme dans le tutoriel, donc j'dois bien pouvoir acceder au fonctionalité PDO normalement ?

1 réponse


Akio
Auteur

........

Merci ! Depuis hier soir je galère pour une toute petite erreur comme celle-ci !

Merci Advancid !