Задать вопрос
Ответы пользователя по тегу MySQL
  • Вывод данных из БД через Pdo?

    Rst0
    @Rst0
    примерно так
    define( "DB_HOST", 'localhost' );
    define( 'DB_NAME', '' );  // заполнить
    define( 'DB_USER', '' );
    define( 'DB_PASSWORD', '' );
    define( 'DB_CHARSET', 'utf8mb4' );
    
    $host_db = DB_HOST;
    $name_db = DB_NAME;
    $user_db = DB_USER;
    $pass_db = DB_PASSWORD;
    $char_db = DB_CHARSET;
    
    $dsn = "mysql:host=$host_db;dbname=$name_db;charset=$char_db";
    
    $options=[
    	PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    	PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    	PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    
    try{
    
    $dbh = new PDO($dsn,$user_db,$pass_db,$options);
    
    }catch(
    
    PDOException $e){
    
    	die("NO CONNECT -- ". $e->getMessage());
    
    }
    
    
    
    function db_user($email){ 
          global $dbh;
          $user = $dbh->prepare("SELECT * FROM `users` WHERE `email` = :email ");
          $user->execute([
               "email" => $email,
          ]);
          $result = $user->fetchAll();
          return (count($result) > 0) ? $result : []; // <-- многомерный массив! , т.к. возможны юзеры с одинаковой почтой
    }
    
    $email = ''; // искомая почта
    $users = db_user($email);
     
       $_SESSION['id'] = isset($users[0]['id']) ? $users[0]['id'] : '0'; // в сессию id первого попавшегося или 0 
    
       echo var_export($users,1);
    Ответ написан