Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ainda continua com erro

insira seu código aqui

PHP Fatal error: Uncaught PDOException: could not find driver in D:\Estudos Rony\aulas\alura-pdo\src\Infrastructure\Persistence\ConnectionCreator.php:13 Stack trace:

#0 D:\Estudos Rony\aulas\alura-pdo\src\Infrastructure\Persistence\ConnectionCreator.php(13): PDO->__construct()

#1 D:\Estudos Rony\aulas\alura-pdo\inserir-aluno.php(7): Alura\Pdo\Infrastructure\Persistence\ConnectionCreator::createConnection()

#2 {main} thrown in D:\Estudos Rony\aulas\alura-pdo\src\Infrastructure\Persistence\ConnectionCreator.php on line 13

insira seu código aqui<?php

use Alura\Pdo\Domain\Model\Student;

require_once 'vendor/autoload.php';

$pdo = \Alura\Pdo\Infrastructure\Persistence\ConnectionCreator::createConnection();

$student = new Student(
    null,
    "Gisele Pereira",
    new \DateTimeImmutable('1985-09-07')
);
$name = $student->name();

$sqlInsert =
    "INSERT INTO students (name, birth_date) VALUES (:name, :birth_date);";
$statement = $pdo->prepare($sqlInsert);
$statement->bindValue(":name", $student->name());
$statement->bindValue(":birth_date", $student->birthDate()->format('Y-m-d'));

if ($statement->execute()) {
    echo "Aluno incluído";
}

Quando coloco no modo antigo ele conecta tranquilo, tinha aberto uma duvida e reparei que o namespace estava escrito errado, porém após corrigir este problema continua . Já descomentei a extensão no php.ini e rodei o phpinfo, mesmo mostrando instalado não encontra o driver, rodei php -m e mostra a extensão ativa. instalei o plugin sqlite e consigo visualizar a tabela construida quando rodo o arquivo conexão.php, porem todos os outros arquivos nao rodam

1 resposta
solução!
insira seu código aquiclass ConnectionCreator
{
    public static function createConnection(): \PDO
    {
        $databasePath = __DIR__ . '/../../../banco.sqlite';

        return new PDO('sqlite' . $databasePath);
    }
}
descobri o erro de novo. faltou 2 pontos na linha return new PDO

class ConnectionCreator { public static function createConnection(): \PDO { $databasePath = DIR . '/../../../banco.sqlite';

    return new PDO('sqlite:' . $databasePath);
}

}

`por nao usar sqlite não tenho essa intimidade da estrutura da conexão e passou despercebido

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software