Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adison

De mysql para PDO

Recommended Posts

Ola pessoal, estou com uma dificuldade em fazer umas conexões com PDO, sei que aqui não é escola, mas alguém pode me ajudar a transformar este crud em PDO??

 

conn.php

 

<?php

$conn
= mysql_connect('127.0.0.1','root','');
if (!
$conn) {
die(
'Could not connect: ' . mysql_error());
}

mysql_select_db('cadastroclientes', $conn);

?>

 

update.php

 

<?php

$id
= intval($_REQUEST['id']);
$nome = $_REQUEST['nome'];
$sobrenome = $_REQUEST['sobrenome'];
$telefone = $_REQUEST['telefone'];
$email = $_REQUEST['email'];

include
'conn.php';

$sql = "update cadastroclientes set nome='$nome',sobrenome='$sobrenome',telefone='$telefone',email='$email' where id=$id";
@
mysql_query($sql);
echo
json_encode(array(
'id' => $id,
'nome' => $nome,
'sobrenome' => $sobrenome,
'telefone' => $telefone,
'email' => $email
));
?>

 

get.php

 

<?php

include 'conn.php';
$rs = mysql_query('select * from cadastroclientes');
$result = array();
while(
$row = mysql_fetch_object($rs)){
array_push($result, $row);
}

echo
json_encode($result);
?>

 

destroy.php

 

<?php

$id
= intval($_REQUEST['id']);

include
'conn.php';

$sql = "delete from cadastroclientes where id=$id";
@
mysql_query($sql);
echo
json_encode(array('success'=>true));
?>

 

save.php

 

<?php

$nome
= $_REQUEST['nome'];
$sobrenome = $_REQUEST['sobrenome'];
$telefone = $_REQUEST['telefone'];
$email = $_REQUEST['email'];

include
'conn.php';

$sql = "insert into cadastroclientes(nome,sobrenome,telefone,email) values('$nome','$sobrenome','$telefone','$email')";
@
mysql_query($sql);
echo
json_encode(array(
'id' => mysql_insert_id(),
'nome' => $nome,
'sobrenome' => $sobrenome,
'telefone' => $telefone,
'email' => $email
));

?>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá Disalvo, obrigado por contribuir, e respondendo sua pergunta, sim, já li algo sobre PDO, só não consigo implementar em um pequeno sistema que utilizo aqui, os resultados são exibidos em uma tabela com jquery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara em momento algum do seu código você tenta usar o PDO......tenta fazer aí, e onde estiver com dificuldades nós ajudamos! é só seguir os exemplos do @disalvo que não tem erro. Começa pela conexão.

 

Um exemplo de conexão do próprio site do php

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

http://php.net/manual/pt_BR/pdo.connections.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara em momento algum do seu código você tenta usar o PDO......tenta fazer aí, e onde estiver com dificuldades nós ajudamos! é só seguir os exemplos do @disalvo que não tem erro. Começa pela conexão.

 

Um exemplo de conexão do próprio site do php

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
http://php.net/manual/pt_BR/pdo.connections.php

 

 

 

Obrigado rockrgo...

 

Já fiz a conexão com banco:

 

conn.php

 

<?php

$conn = new PDO(

'mysql:host=localhost;dbname=banco_exemplo', 'root', ''

);

?>

 

Os dados são inseridos, editados e excluídos em um datagrid na pagina inicio.php conforme imagem abaixo

datagrid.JPG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, então qual a dúvida?

 

É o seguinte, preciso que os dados digitados no datagrid sejam salvos no db quando eu chamar o save.php...ae surge a duvida: nao consigo pegar os valores dos campos digitado!

 

save.php

 

<?php
include 'conn.php';
$executa = $pdo->query("INSERT INTO minhatabela(razao_social, cnpj, rua) VALUES (' ', ' ')");
?>

O próximo passo é você aprender a trabalhar com statements http://php.net/manual/pt_BR/class.pdostatement.php

 

prepare()

bindValue() ou bindParam()

execute()

fetch() ou fetchAll()

 

Valeu rockrgo, até consigo inserir os dados na tabela, mas somente se digitados no Value do save.php, mas preciso que seja os dados dos campos do datagrid, via $_REQUEST

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para enviar os dados você tem que ter um form ou pegar estes dados com javascript e enviar para a save.php via AJAX.

 

Os dados são pegos com javascript e enviados via Ajax...

 

consegui fazer o save.php, dessa forma estaria correto?

 

save.php

 

<?php
$razao_social = $_REQUEST['razao_social'];
$cnpj = $_REQUEST['cnpj'];
$rua = $_REQUEST['rua'];
include 'conn.php';
$executa = $pdo->query("INSERT INTO cadastrofornecedores(razao_social, cnpj, rua) VALUES ('$razao_social', '$cnpj', '$rua')");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca o $pdo->query() por $pdo->exec()...........ela vai te retornar o número de linhas afetadas no seu banco....se retornar 1 é porque o registro foi inserido.

 

Funcionou perfeitamente... qual a melhor opção: query ou exec?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para selecionar dados a query() e para executar querys que não retornam dados como insert, update usa o exec();

 

Mas nem uso a função query para selecionar dados, costumo usar o prepare() e depois o execute().

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, como trata de um crud completo ainda falta o select, delete e update

 

Até agora meu código esta assim:

 

conn.php

<?php


   $pdo = new PDO("mysql:host=localhost;dbname=banco_exemplo", "root", "");
   if(!$pdo){
       die('Erro ao criar a conexão');
   }
   ?>

save.php

<?php


$razao_social = $_REQUEST['razao_social'];
$cnpj = $_REQUEST['cnpj'];
$rua = $_REQUEST['rua'];


   include 'conn.php';
   
   $executa = $pdo->exec("INSERT INTO cadastrofornecedores(razao_social, cnpj, rua) VALUES ('$razao_social', '$cnpj', '$rua')");
   echo json_encode(array(
    'nome' => $nome,
    'sobrenome' => $sobrenome,
    'telefone' => $telefone,
    'email' => $email
));


  ?>

Até neste ponto tudo okk, agora preciso substituir o meu antigo select

 

<?php

include 'conn.php';

$rs = mysql_query('select * from cadastrofornecedores');
while($row = mysql_fetch_object($rs)){
array_push($result, $row);
}

echo json_encode($result);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.