Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

nao estou conseguindo me conectar no mysql , da problema de driver nao encontrado, uso o xampp, criei um banco para testar

Bom dia,

Após terminar o curso ainda fiquei com uma duvida, pois ja tinha criado uma conexão com o banco de dados seguindo um outro curso que estou fazendo por fora, mas como estou apenas seguindo passo a passo e como não detalhou muito sobre o PDO quis fazer o curso da alura pra complementar esta parte de PDO. No outro curso acesso o banco de dados normalmente usando pdo e funciona, aceita o driver do mysql. Criei o arquivo ConnectionCreator similar ao que voce fez na sua penultima aula (so substitui o nome do host por localhost e o nome do banco que no meu caso é aulapdo.

criei o arquivo parecido com o do professor para criar tabelas neste banco e chamei de criar-tabelas-mysql.php

<?php

use Alura\Pdo\Domain\Model\Student;
use Alura\Pdo\Domain\Infrastructure\Persistence\ConnectionCreator;
use Alura\Pdo\Domain\Infrastructure\Repository\PdoStudentRepository;


require_once 'vendor/autoload.php';

$connection = ConnectionCreator::createConnection();

$createTableSql = '
    CREATE TABLE IF NOT EXISTS students (
        id INTEGER PRIMARY KEY,
        name TEXT,
        birth_date TEXT
    );

    CREATE TABLE IF NOT EXISTS phones (
        id INTEGER PRIMARY KEY,
        area_code TEXT,
        number TEXT,
        student_id INTEGER,
        FOREIGN KEY(student_id) REFERENCES students(id)
    );
';

$connection->exec($createTableSql);

mas quando executo este arquivo criar-tabelas-mysql.php ele aponta este erro

: PHP Fatal error: Uncaught PDOException: could not find driver in C:\xampp\htdocs\phppdo\src\Domain\Infrastructure\Persistence\ConnectionCreator.php:23

o erro aponta para esta linha no arquivo ConnectionCreator.php

        $connection = new PDO("mysql:host=localhost;dbname=" . 'aulapdo', 'root','');  
    (tinha tentado assim tambem
    $connection = new PDO('mysql:host=localhost;dbname= aulapdo', 'root',''); 

    mas tinha dado o mesmo erro ..acredito que não está encontrando o driver mysql )


    Preciso instalar este driver mysql para cada pasta de projeto que eu for usar?

    OBS: esta linha relativa ao pdo_mysql já está descomentada no php.ini

    Se alguem puder me ajudar com este problema de não encontrar o driver.

    Observação, estou planejando fazer o curso de Doctrine em seguida, não sei se lá irá abordar este detalhe, se for aí posso esperar e ver por lá.

    Obrigada
5 respostas
solução!

Olá, Cristina. Antes de qualquer coisa, recomendo a leitura aqui: https://dias.dev/2021-04-10-por-que-nao-usar-xampp/

Sobre seu erro: O driver pdo_mysql não está instalado/habilitado. Você disse que "esta linha relativa ao pdo_mysql já está descomentada no php.ini". Pode me mostrar como estão as linhas em questão, que você modificou?

Me mostra também a saída dos seguintes comando: php --ini e php -m.

Boa noite Vinicius. Dei uma lida rapida no texto...vou dar uma olhada com mais calma depois (mas gosto tanto do xampp... )

Estou enviando abaixo um print das 3 coisas que você pediu.

Obrigada

php --ini

php -mInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Qual o caminho completo do arquivo php.ini que está editando? Parece que você está editando o arquivo errado.

Eu estava editando o arquivo errado mesmo , agora procurei o arquivo naquele caminho que apareceu no php --ini (que voce tinha passado) e depois dei o comando php -m pra ver se agora aparecia e realmente apareceu o pdo_mysql na lista . Depois disso executei o arquivo criar-tabelas-mysql.php novamente e deu certo inserir as tabelas no banco de dados.

Muito obrigada!!!!

Pois é. Você não está usando xampp. rsrsrs

pode desinstalar ele.