Erro com conexao PDO do mysql

Pessoal me de uma ajuda não consigo achar onde esta a solução para este erro.

Erro fatal : Erro não capturado: Chamada para o método indefinido PDOStatement::excute() em C:\xampp\htdocs\SistemaLogin\Usuario.php:11 Stack trace: #0 C:\xampp\htdocs\SistemaLogin\logar.php(11 ): Usuario->login(‘ticginformatica…’, ‘admin’) #1 {main} lançado em C:\xampp\htdocs\SistemaLogin\Usuario.php na linha 11

segue minha conexão abaixo:

<?php

$localhost = "localhost";
$user = "root";
$passw = "";
$banco = "escola";
global $pdo;

//Conexão orientada a objetos com PDO.
try {
    $pdo = new PDO("mysql:dbname=" . $banco . ";host=" . $localhost, $user, $passw);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $ex) {
    echo "ERRO: " . $ex->getMessage();
    exit();
}
?>

segue minha classe logar abaixo:



<?php
if (isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['senha']) && !empty($_POST['senha'])) {
    require_once 'conexao.php';
    require_once 'Usuario.php';
    
    $user = new Usuario();
    
    $email = addslashes($_POST['email']);
    $senha = addslashes($_POST['senha']);
    
    $user->login($email, $senha);
    
} else {
    header("Location: login.php");
}

?>

Onde isso está sendo usado no seu código? Parece que há um erro de digitação na chamada da função execute.

Cara,
Duas formar que eu sempre uso para conectar a um banco de dados. São essas:

Primeira opção:

<?php /*informações do banco de dados. pode ser dessa forma*/ /*$host="localhost:8080"; $user="root"; $pass=""; $dbname="mydb"; $port=3306; try{ $conn=new PDO("mysql:host=$host;port=$port;dbname=".$dbname,$user,$pass); echo "Conexão realizada com sucesso"; }catch (Exception $ex){ echo "Conexão falhou!"; } ?>

Segunda opção:

<?php define('host', 'localhost'); define('user', 'root'); define('password', ''); define('db', 'mydb'); $conn = mysqli_connect(host, user, password, db) or die ('Não foi possivel conectar'); ?>