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

Retorno do pdo->exec esta sendo um boolean e não a quantidade de linhas como no vídeos.

<?php

use Alura\Pdo\Domain\Model\Student;

require_once 'vendor/autoload.php';

$dbDirectory = DIR . '/banco.sqlite'; $pdo = new PDO('sqlite:' . $dbDirectory);

$student = new Student(null, 'Luciano Gouveia', new \DateTimeImmutable('1989-07-13'));

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

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

----- retorno no console -------

C:\php-7.4.3-Win32-vc15-x64\php.exe D:\Estudo\pdo-alura\inserir-aluno.php bool(false) SELECT * FROM studantes Process finished with exit code 0

1 resposta
solução!

Problema resolvido, o que estava acontecendo é que quando eu dei um INSERT no banco, eu usei a tabela students, e como vemos no arquivo acima eu cometi um erro de digitação e coloquei *studantes * e quando o resultado é falso, pelo que percebi o método exec ele retorna como boolean, ao fazer a correção o mesmo retornou a quantidade de linhas afetadas que no caso é int(1);

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