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

resultado está bool(false) ao invés do int(1)

Olá, o resultado está bool(false) ao invés do int(1), mas quando dou echo a resposta está conforme o vídeo.

<?php

use Alura\Pdo\Domain\Model\Student;

require_once 'vendor/autoload.php';

$databasePath = __DIR__ . '/banco.sqlite';
$pdo = new PDO('sqlite:' . $databasePath);

$student = new Student(null,'Vinicius Dias', new \DateTimeImmutable('1997-10-15'));

$sqlInsert = "INSERT INTO students (name, birth_date) VALUES ('{$student->name()}', '{$student->birthDate()->format('Y-m-d')}');";

var_dump($pdo->exec($sqlInsert));
10 respostas

Olá, Jackson. A resposta como false significa que houve um erro ao executar a query.

Nós vamos aprender como lidar com erros neste treinamento, mas por agora, só pra garantir que tudo está ok, faça um echo $sqlInsert e verifique se há algum erro na query.

O arquivo existe com a tabela students criada?

Quando executo o echo o resultado é: INSERT INTO students (name, birth_date) VALUES ('Vinicius Dias', '1997-10-15');

Não sei qual arquivo vc está falando, fiz todos os passos do vídeo.

mas quando passo o mouse em cima da linha de código aparece a mensagem do PHPStorm: No data sources are configured to run this SQL and provide advanced code assistance. Disable this inspection via problem menu (Alt+Enter)

E uma opção pra configurar banco de dados.

O arquivo citado é o arquivo de banco de dados, Jackson. O arquivo foi criado e a tabela students está lá?

Você pode configurar o PHPStorm pra acessar esse arquivo sim. Aí você vai conseguir verificar se a tabela existe. :-)

O arquivo banco.sqlite está aqui sim. Mas não está legível o que está dentro dele. Eu estou seguindo a FORMAÇÃO EM PHP que o site da Alura indica, mas não havia visto nada de BD ainda, então não sei configurar. vou continuar vendo os vídeos e concluir o curso e no caminho vejo se o problema resolve.

Ah sim, Jackson. Vamos fazer assim:

Volta nas aulas iniciais onde a gente cria esse banco de dados e cria a tabela nele. Aí talvez você perceba o que aconteceu de errado.

Mas só um detalhe... O curso de MySQL é pré-requisito desse treinamento, pra você ter uma pequena base do que é SQL, etc. ;-)

solução!

Blz, Vinicius. Vou fazer o que vc falou. Só que o único pré requisito que apareceu pra mim foi a FORMAÇÃO INICIANTE E PROGRAMAÇÃO (que fiz completa e não tem nada de BD). Obrigado pelas orientações, espero que eu consiga continuar pq está ficando cada vez mais complicado, principalmente sem praticar. Abraços.

Na página do curso você consegue ver os pré-requisitos, Jackson. Página do curso de PDO

Mas caso não consiga, dá uma olhada no capítulo de erros. Aí você vai aprender a mostrar os erros com PDO, e a partir disso vai saber qual o problema. :-)

Vou fazer esse curso ai antes, pq na FORMAÇÃO EM PHP, não tem ele e nem ele como pré requisito.

Andei olhando aqui tbm sua recomendação de PLANOS DE ESTUDOS chamado 'Guia do programador PHP', e estou pensando em fazer ele ao invés da FORMAÇÃO em si.

Boa, Jackson. Aquele guia de estudos é bem mais completo do que a formação. :-D