Primeiramente veremos um exemplo utilizando o modo primitivo do php.
CADASTRANDO SEM UTILIZAR PDO
include_once("conexao.php");/*Inclui arquivo de conexao com o bd*/
$nome = "Carlos";
$sobrenome = "Alberto";
$sql = "INSERT INTO alunos (nome,sobrenome) VALUES ('$nome','$sobrenome')";
$query = mysql_query($sql);
if($query){
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
?>
Vejam que o cadastro do primitivo fica totalmente vulnerável.
Veja agora, o exemplo acima utilizando PDO.
CADASTRANDO UTILIZANDO PDO
include_once("conexao.php");
$nome = "Carlos";
$sobrenome = "Alberto";
try{
$cadastrar = $conexao->prepare("INSERT INTO alunos (nome,sobrenome)
VALUES (:nome,:sobrenome)";
$cadastrar->bindValue(":nome",$nome);
$cadastrar->bindValue(":sobrenome",$sobrenome);
$cadastrar->execute;
if($cadastrar->rowCount() > 0){
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
}catch(PDOException $error){
echo "Erro ao cadastrar aluno: ". $error->getMessage();
}
?>
Lembrando , que com a utilização do PDO , eu não precisei deixar o parâmetro dentro de aspas simples , como foi utilizado no modo primitivo.
Veja:
VALUES (:nome,:sobrenome)";
Vimos também que utilizei uma condicional diferente , veja:
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
Fica a pergunta: Mas o rowCount não funciona apenas para selecionar dados ?
Resposta: Não ! o rowCount , neste caso está com a função do antigo mysql_affected_rows, que retorna o número de linhas afetadas.
Em nosso caso , 1 cadastrado foi executado com sucesso , resultando então na mensagem “Aluno cadastrado com sucesso!”;
Lembrando que poderiamos também fazer nosso cadastro utilizando os pontos de interrogação.
Exemplo:
include_once("conexao.php");
$nome = "Carlos";
$sobrenome = "Alberto";
try{
$cadastrar = $conexao->prepare("INSERT INTO alunos (nome,sobrenome)
VALUES (?,?)";
$cadastrar->bindValue(1,$nome);
$cadastrar->bindValue(2,$sobrenome);
$cadastrar->execute;
if($cadastrar->rowCount() > 0){
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
}catch(PDOException $error){
echo "Erro ao cadastrar aluno: ". $error->getMessage();
}
?>
CADASTRANDO COM PDO UTILIZANDO ARRAY
include_once("conexao.php");
$nome = "Carlos";
$sobrenome = "Alberto";
$dados = array(
'nome'=> $nome,
'sobrenome'=> $sobrenome
);
try{
$cadastrar = $conexao->prepare("INSERT INTO alunos (nome,sobrenome)
VALUES (:nome,:sobrenome)";
foreach($dados as $indice => $valor):
$cadastrar->bindValue(":$indice",$valor);
endforeach;
$cadastrar->execute;
if($cadastrar->rowCount() > 0){
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
}catch(PDOException $error){
echo "Erro ao cadastrar aluno: ". $error->getMessage();
}
?>
CADASTRANDO COM PDO UTILIZANDO ARRAY E INTERROGAÇÃO
include_once("conexao.php");
$nome = "Carlos";
$sobrenome = "Alberto";
$dados = array(
1=> $nome,
2=> $sobrenome
);
try{
$cadastrar = $conexao->prepare("INSERT INTO alunos (nome,sobrenome)
VALUES (?,?)";
foreach($dados as $indice => $valor):
$cadastrar->bindValue($indice,$valor);
endforeach;
$cadastrar->execute;
if($cadastrar->rowCount() > 0){
echo "Aluno cadastrado com sucesso!";
}else{
echo "Erro ao cadastrar aluno.";
}
}catch(PDOException $error){
echo "Erro ao cadastrar aluno: ". $error->getMessage();
}
?>
Até a Próxima!
Cuidado com o J10 ele morde '-'
ResponderExcluir¬¬
Excluir