php5 + pdo

6 respostas
J

Bom dia,

Criei as classes abaixo, não geraram nenhum erro, mas os dados não são inseridos no BD.

include_once '/CCC/CCC//XXX/ICadastro.class.php';

class Aluno implements ICadastro
{
	private $matricula;
	private $nome;

	public function __construct($matricula, $nome)
	{
		$this->matricula = $matricula;
		$this->nome = $nome;
	}

	public function getMatricula()
	{
		return $this->matricula;
	}

	public function getNome()
	{
		return $this->nome;
	}
	
	public function inclui()
	{
		try
		{
			// instancia objeto PDO, conectando no MySql
			$conn = new PDO('mysql:host=localhost; dbname=escola', 'root', '');

			// executa uma série de instruções SQL
			$conn->exec(" INSERT INTO aluno (matricula, nome) VALUES ('" . $this->getMatricula() . "', '" . $this->getNome() . "')");   

			// fecha conexão
			$conn = null;
		}
		catch(PDOException $e)
		{
			// caso ocorra uma exceção, exibe na tela
			print "Erro!: " . $e->getMessage() . "<br />";
			die();	
		}
	
	}
}
include_once '/CCC/CCC/Aluno.class.php';

$matricula = $_POST["matricula"];
$name = $_POST["nome"];

$aluno = new Aluno($matricula, $name);
$aluno->inclui();
echo "<p>Os dados foram inseridos com sucesso!</p>";

Agradeço desde já,
Júnio César Silva

6 Respostas

peczenyj

Ok…

Veja se vc não precisa executar um COMMIT apos o insert (de repente vc esta com AUTOCOMMIT desligado nesse banco).

http://br.php.net/manual/en/pdo.commit.php

Agora, sugiro vc usar Prepared Statement para evitar o dilema “Joana D’arc” que dá margem à problemas como SQL Injection

http://br.php.net/manual/en/pdo.prepared-statements.php

Na duvida faça PPADD- passei por aqui driven development para ver se vc realmente chega a abrir conexão com o banco!

J

Bom dia Peczenyj ,

Os dados não estão sendo inseridos quando eu coloco o arquivo no form do HTML.Se eu executar fora, inseri normal.

fantomas

Desculpe a minha ignorancia, mas o que é esse “dilema Joana D’arc” rsrsrsrsrsr?

flws

peczenyj

Tente incluir a Joana D’arc no seu cadastro. Vai zoar o SQL inteiro.

fantomas

hahahahah caiu a ficha!

Valeu peczenyj!

flws

J

Peczenyj , estou conseguindo inserir os dados, mas os dados da matricula estão repetindo no BD quando eu insiro uma nova matricula.

Criado 16 de abril de 2009
Ultima resposta 16 de abr. de 2009
Respostas 6
Participantes 3