Sempre que executo o arquivo "inserir-aluno.php" (código abaixo), é adicionado um item a mais no banco de dados que gera um erro no "lista-alunos.php"
inserir-aluno.php :
<?php
use Alura\Pdo\Domain\Model\Student;
require_once 'vendor/autoload.php';
$databasePath = __DIR__ . '/dataBase.sqlite';
$pdo = new PDO('sqlite:' . $databasePath);
$student = new Student(
null,
'Paulo Coradini',
new \DateTimeImmutable('1991-05-09')
);
$sqlInsert = "INSERT INTO students (name, birthDate) VALUES (:name, :birthDate);";
$statement = $pdo->prepare($sqlInsert);
$statement->bindValue(':name', $student->name());
$statement->bindValue(':birthDate', $student->birthDate()->format('Y-m-d'));
if ($statement->execute()){
echo "Aluno incluído" . PHP_EOL;
}
echo $sqlInsert . PHP_EOL;
var_dump($pdo->exec($sqlInsert));
Quando eu dou um var_dump no $studentDataLista em "lista-alunos.php" ele me retorna isso:
array(2) {
[0]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(14) "Paulo Coradini"
["birthDate"]=>
string(10) "1991-05-09"
}
[1]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
NULL
["birthDate"]=>
NULL
}
}
E sempre que executo novamente o "adicionar-aluno.php", é adicionado 2 itens a mais:
Quando o "adicionar-aluno.php" é executado 2 vezes, o var_dump no "lista-alunos.php" retorna isso:
array(4) {
[0]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(14) "Paulo Coradini"
["birthDate"]=>
string(10) "1991-05-09"
}
[1]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
NULL
["birthDate"]=>
NULL
}
[2]=>
array(3) {
["id"]=>
string(1) "3"
["name"]=>
string(14) "Paulo Coradini"
["birthDate"]=>
string(10) "1991-05-09"
}
[3]=>
array(3) {
["id"]=>
string(1) "4"
["name"]=>
NULL
["birthDate"]=>
NULL
}
}
Alguém saberia me dizer o porque está acontecendo isso?