CRUD com PDO
Olá pessoal tentando fazer um CRUD com PDO com o seguinte:
possuo um banco: corrida
com as tabelas:
CREATE TABLE IF NOT EXISTS `tcorrida` (
`id_tCorrida` int(11) NOT NULL AUTO_INCREMENT,
`nome_tCorrida` varchar(50) NOT NULL,
`classificacao_tCorrida` varchar(50) NOT NULL,
`ref_tCorrida` varchar(50) NOT NULL,
`meta_tCorrida` char(2) NOT NULL,
PRIMARY KEY (`id_tCorrida`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `usuario` (
`id_usuario` int(11) NOT NULL AUTO_INCREMENT,
`nome_usuario` varchar(50) NOT NULL,
`sobrenome_usuario` varchar(50) NOT NULL,
`email_usuario` varchar(80) NOT NULL,
`senha_usuario` varchar(255) NOT NULL,
`tele_usuario` varchar(11) DEFAULT NULL,
`cel_usuario` varchar(11) NOT NULL,
`skype_usuario` varchar(50) DEFAULT NULL,
`icq_usuario` varchar(50) DEFAULT NULL,
`wattsapp_usuario` varchar(11) DEFAULT NULL,
`endereco_usuario` varchar(80) NOT NULL,
`cidade_usuario` varchar(50) DEFAULT NULL,
`estado_usuario` varchar(2) NOT NULL,
`pais_usuario` varchar(10) NOT NULL,
PRIMARY KEY (`id_usuario`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Estou quebrado a cabeça pra fazer um CRUD com PDO, para que fique antSQL injection.
Mas não estou conseguindo.
Quero fazer em duas classes:
Uma abstrataBanco: e outra banco:
na abstrata por equanto tenho:
<?php
/CRUD/
class AbstrataBanco extends banco {
protected $tabela;
protected $campo;
protected $key;
/**
* @param mixed $tabela
*/
public function setTabela($tabela)
{
$this->tabela = $tabela;
}
/**
* @return mixed
*/
public function getTabela()
{
return $this->tabela;
}
/**
* @param mixed $key
*/
public function setKey($key)
{
$this->key = $key;
}
/**
* @return mixed
*/
public function getKey()
{
return $this->key;
}
/**
* @param mixed $campo
*/
public function setCampo($campo)
{
$this->campo = $campo;
}
/**
* @return mixed
*/
public function getCampo()
{
return $this->campo;
}
protected function listar() {
$pdo = new PDO(self::getDB());
$pdo->exec("SELECT * FROM ".self::getTabela." WHERE".self::getCampo." = ".self::getKey);
$pdo->bindValue();
$pdo->execute();
}
protected function alterar() {
}
protected function deletar() {
}
protected function cadastrar() {
}
}
E na banco tenho:
<?php
abstract class banco {
const USER = "usuario";
const PASS = "senha";
private static $instance = null;
private static function conectar() {
try { ##Tenta conectar ao banco se não funcionar cai no catch
if (self::$instance == null): ##se não existir conexão com PDO receber a new PDO() | a conexão
$dsn = "mysql:host=localhost;dbname=corrida";
self::$instance = new PDO($dsn, self::USER, self::PASS);
endif;
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage(); #
}
return self::$instance; ## se ja exixtir uma conexão ele retorna a conexão
}
protected static function getDB() {
return self::conectar();
}
}
?>
Gostaria de fazer o CRUD dentro da classe bancoAbstrata()
usando o getters e fazer os setters onde for exibir os resultados ou busca valores.
Alguém disposto a me dar uma força >>
Discussão (7)
Carregando comentários...