2
respostas

SQLSTATE[HY000]: General error: 1 no such table: students

Olá!

Quando rodo inserir-aluno.php com o echo $sqlInsert; funciona normalmente, mas quando utilizo o var_dump($pdo->exec($sqlInsert)); recebo um Fatal error> Uncaught PDOException: SQLSTATE[HY000]: General error: 1 no such table: students

<?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));           
2 respostas

No teu php.ini ativa pra exibir todos os erros e executa direto sem o var_dump, caso o erro seja exibido é um problema no banco de dados, e a tabela students não existe ainda.

Bom dia Juliano. O error_reporting já está ativo no php. ini. quando executo o conexao.php eu recebo o Fatal error dizendo que a tabela já existe.

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1 table studants already exists in C:\Users\PICHAU\Documents\Aulas Alura\Aula PHP\curso-pdo\conexao.php:8

Entretanto executei sem o var_dump como você solicitou e recebi o mesmo erro.

General error: 1 no such table: students

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