Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

xampp ou servidor local

Estou com problemas que é o seguinte, eu instalei o php na mão conforme os curso iniciais de php, e depis instalei o xamp.

Quando quero testar os scripts apenas abro um terminal com o comando php -S localhost:8080 e consigo testar pelo browser.

Porém me adiantando comecei a estudar PDO e fiz um exemplo de conxão modelo segue:

<?php

$db = new PDO("mysql:host=localhost;dbname=meubanco", "root","");

$db->exec("CREATE TABLE clientes(id int AUTO_INCREMENT,nome VARCHAR(255),email VARCHAR(255))");

Mas retornou o seguinte erro:

Fatal error: Uncaught PDOException: could not find driver in C:\xampp\htdocs\phppdo\index.php:3 Stack trace: #0 C:\xampp\htdocs\phppdo\index.php(3): PDO->__construct('mysql:host=loca...', 'root', '') #1 {main} thrown in C:\xampp\htdocs\phppdo\index.php on line 3

Daí me incorreu de testar o phpinfo para ver para onde ele está acessando meu php.ini.

O retorno mostra que o php está olhando para minha instalação manual. Agora não sei o que fazer pois minha instalação manual não tem mysql, o mesmo está instalado por meio do xampp, o que devo fazer usar apenas o xampp para testar pdo removendo a instalação do php manual?

2 respostas

Olá Anderson,

Você pode utilizar a sua instalação PHP manual com o MySQL do wamp, é só lembrar de iniciar o wamp sempre que for utilizar o banco de dados.

Sobre esse erro deve ser apenas a extensão pdo_mysql que está desativada no seu PHP, vai no php.ini que você encontrou do PHP instalado manualmente e descomenta a linha: extension=pdo_mysql, provavelmente vai ter um ; no início então você remove esse ;


Caso você queira trabalhar apenas com o PHP do wamp mesmo, você pode mover a pasta de seu projeto para a pasta www do wamp, e então utilizar localhost/nome_de_sua_pasta/arquivo.php para acessar o seu projeto.

Ou como segunda opção você pode colocar o PHP do wamp na sua variável de ambiente no lugar do seu PHP manual, assim quando você executar php no terminal vai ser utilizado o PHP do wamp com as suas configurações. Pra mim o PHP do wamp fica em: C:\wamp64\bin\php\php7.0.10

Espero ter ajudado, qualquer dúvida é só falar!

solução

Só mais um detalhe, o sql que você está testando tem um erro, já que o id é AUTO_INCREMENT tem que ser definido como chave primária também, falta só adicionar PRIMARY KEY (id) no final:

$db->exec("CREATE TABLE clientes ( id INT AUTO_INCREMENT, nome VARCHAR(255), email VARCHAR(255), PRIMARY KEY (id) )");