Ir para conteúdo

POWERED BY:

Arquivado

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

Ocladeson

phpmyadmin não inseri informação no banco de dados !

Recommended Posts

o script! esta correto olha


conexão


PDO


<?php


try{

$pdo=new PDO("mysql:host=localhost;dbname=cadastros", "root", "");

}catch(PDOException $e){

echo $e->getMessage();

}


?>

----------------------------------------------------------------------------------------------------------------------------


o que receber



<?php

require_once("conection/conexao.php");


$nome = $_POST['nome'];

$idade = $_POST['idade'];

$telefone = $_POST['telefone'];



$sql = "INSERT INTO ´clientes´ (`nome`, `idade`, `telefone`) VALUES ('$nome', '$idade', '$telefone')";

if(!$sql) {

echo ("Ocorreu um erro !");

}else{

echo("Dados inserido com sucesso !");

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

o script! esta correto olha

Nem tanto, faltou a função query da PDO para inserir no DB

$sql = "INSERT INTO ´clientes´ (`nome`, `idade`, `telefone`) VALUES ('{$nome}', '{$idade}', '{$telefone}')";
$pdo->query($sql); 

if($pdo->lastInsertId() > 0 ) {
	echo("Dados inserido com sucesso !");
}else{
	echo ("Ocorreu um erro !");
}

ou melhor, use prepare e evitara grandes dores de cabeça, como por exemplo sql injection

$stmt = $pdo->prepare("INSERT INTO testtable(`nome`, `idade`, `telefone`)
    VALUES(:nome, :idade, :telefone)");
	
$stmt->execute(array(
    "nome" => $nome,
    "idade" => $idade,
    "telefone" => $telefone
));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem um dos dois deu certo

o primeiro deu erro

o segundo não mostrou nada !

o phpmyadmin não esta inserindo os dados envido pelo script não sei por quer eu gravei um video do problema de uma olhada !

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

02 minutos perdidos, em que momento você colocou as funções que postei acima lá no video, você acha que um if vai inserir no banco?

 

Faça o seguinte teste com Exception e tente corrigir, você nem viu que o nome da tabela estava errada no exemplo.

 

eu coloquei testtable, para ver se olhava para o script linha por linha, ao invés de pegar e executar, desta forma não aprende.


<?php

require_once("conection/conexao.php");

try {
	
	if( empty($_POST['nome']) ) {
		throw new Exception("Preencha o Nome", 1);
	}
	
	if( empty($_POST['idade']) ) {
		throw new Exception("Preencha a idade", 1);
	}
	
	if( empty($_POST['telefone']) ) {
		throw new Exception("Preencha o telefone", 1);
	}
	
	$nome = $_POST['nome'];
	$idade = $_POST['idade'];
	$telefone = $_POST['telefone'];
	
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	
	$stmt = $pdo->prepare("INSERT INTO `clientes` (`nome`, `idade`, `telefone`)
    VALUES(:nome, :idade, :telefone)");
	
	$stmt->execute(array(
		"nome" => $nome,
		"idade" => $idade,
		"telefone" => $telefone
	));
	
	if( $pdo->lastInsertId() > 0 ) {
		echo("Dados inserido com sucesso !");
	} else {
		throw new Exception("Falha ao cadastrar", 1);
	}
				
} catch (PDOException $e) {
	
	echo 'Error debug: '. $e->getMessage();
	
} catch (Exception $e) {
	
	echo 'Error debug: '. $e->getMessage();
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkkkkkk depois eu vi o erro mas msm assim não tinha funcionado,

 

mas eu testei esse script que você me mandou e tbm deu erro.

 

"Error debugFalha ao cadastrar"

 

o ploblema pode ser no phpMyadmin ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

o ploblema pode ser no phpMyadmin ??

Não!

 

Esta coluna não existe no DB, verifique se o telefone esta escrito corretamente, igual a query lá no phpMyadmin.

 

Qualquer coisa, copie e cole, ou seja renomeie a coluna

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz este código não tem erro, acabei de fazer um teste aqui

 

Rode esta query no seu banco manualmente, e veja se apresenta algum erro por lá

INSERT INTO `clientes` (`nome`, `idade`, `telefone`) VALUES ('nome', 'idade', 'telefone');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado deu certo vlwwww msm ! :worship: :worship: :worship: :worship: :worship: :worship: :clap: :clap: :clap: :clap: :joia: :joia: :joia: :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que deu certo, estude mais sobre PDO

 

E Marque o topico como resolvido, e remova seu link de facebook, pois não tenho, abraços, na dúvida estamos sempre por aqui, por enquanto. rsrs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deva ter um botão marcar como resolvido

 

veja no post 6

 

http://forum.imasters.com.br/topic/536728-ajudem-phpmyadmin-nao-inseri-informacao-no-banco-de-dados/?p=2143520

 

Este código esta correto, servira como base para novos programadores que vier ter a mesma dúvida.

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.