如何使用PDO和Class获取Id用户

时间:2017-02-15 14:36:12

标签: php mysql function pdo getter-setter

我总是制作一个程序性的PHP,但我想改变我的工作方式(改变坏习惯永远不会太晚)

我有3个文件: pdo.php

<?php
try 
    {
        $engine = 'mysql';
        $host ='localhost';
        $port = '';
        $database = 'local';
        $user = 'root';
        $password = '';
        $dns = $engine.':port='.$port.';dbname='.$database.";host=".$host;

        $bdd = new PDO($dns, $user, $password);
    }

catch (Exeption $erreur)
    {
        die ('Erreur : '.$erreur->getMessage());
    }
?>

User.php

<?php

include 'pdo.php';

class User {

    private $bdd;

    private $id;
    private $firstname;
    private $lastname;
    private $email;


    public function getId(){
        return $this->id;
    }

    public function setId($id){
        $this->id = $id;
    }


    //ALL GETTER AND SETTER


    public function getUserIdByEmail($email) {

        $request = $this->bdd->prepare("select id from users where email = :email");
        $request->execute(array(
            ':email' => $email,
        ));
        return $request->fetchColumn();

    }
}

和index.php

<?php session_start (); 
include 'pdo.php';
require 'User.php';
?>

<?php if (isset($_SESSION["email"]) && isset($_SESSION["password"])) { 

    $userEmail = $_SESSION["email"];
    $userId = new User();
    $id = $userId->getUserIdByEmail($userEmail);
    echo $id;

//Rest of code

我不明白如何在pdo.php中访问我的objet 我尝试了各种可能性(比如在类User中包含pdo.php),但它不起作用..

你能解释我怎么做吗? 谢谢

0 个答案:

没有答案