Impossible de récupéré mes données dans ma bdd

Résolu/Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 16 mai 2014 à 13:29
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 16 mai 2014 à 14:29
Bon voila mon soucis je me suis mis au pdo mais bien évidement rien ne marche comme ça doit...
systématiquement ça me retourne se message :
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\gestiontemp\index.php on line 28

Bon je vois bien ce qu'il me dit mais je ne vois pas du tout comment corriger le tir

Voila mon code
pour la connection:
<?php
function db_connect() {
try{
$db_conn = new PDO('mysql:host=localhost;dbname=matable','monpseudo','monmotdepasse',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
}
catch(PDOException $e){
echo 'Impossible de se connecter à la base de donnée';
exit();
}
}
?>

et pour la page:
<?php
require_once'db_fns.php';

session_start();

if (isset($_POST['utilisateur']) && isset($_POST['mdp'])) {
$utilisateur = $_POST['utilisateur'];
$mdp = $_POST['mdp'];

$db_conn = db_connect ();

$req_conn_user = $db_conn->prepare("select * from tablogsys"
." where login = '$utilisateur'"
." and mdp = sha1('$mdp')");
Au vu que ça bug ici juste avant je n'ai pas développez plus en avant le reste de la récupération des données...
$result_req_conn_user = $req_conn_user->fetch(PDO::FETCH_ASSOC);
$num_result = count($result_req_conn_user);
echo"<p>$num_result</p>";
/**if($num_result > 0) {
echo "<p> Au moins une ligne dans $result_req_conn_user</p>"
}
else {
echo "<p>Aucune ligne retournée</p>";
}**/
}

include ('entetes/entete.php');

if (isset($_SESSION['user_ok'])) {
echo "</p>";
echo "<p>Vous êtes bien connecté, Vous allez être redirigé dans un instant.</p>";
echo "<head>";
/**echo '<meta http-equiv="refresh" content="0;url=news.php">';**/
echo "</head>";
} else {
if (isset($utilisateur)) {
echo '<div id="texte"><p>Connexion refusée</p></div>';
} else {
echo '<div id="texte"><p>Veuillez vous connecter.</p></div>';
}
}
?>

<div id="taille">
<div id="formlog">
<form method="post" action="index.php">
<label for="utilisateur">Nom d\'utilisateur :</label><br />
<input type="text" id="utilisateur" name="utilisateur" /><br /><br />
<label for="mdp">Mot de passe :</label> <br />
<input type="password" id="mdp" name="mdp" /><br /><br />
<input class="submit" type="submit" name="submit" value="Connexion" />
</form>
</div>
</div>

<?php include ('pieds/pied.php'); ?>

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
16 mai 2014 à 14:03
Salut,

Ta variable $db_conn est nulle car la fonction db_connect() ne te retourne rien.
Il faut que tu ajoutes un
return $db_conn;
à la fin de ta fonction $db_connect() pour utiliser ensuite ta connexion à PDO.

Bonne journée
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
16 mai 2014 à 14:29
ok merci bcp ;-)
0