Ir ao conteúdo

Posts recomendados

Postado

Quero que os dados de um formulário fiquem armazenados no bd, coisa bem simples:

<?php
$nome = ($_POST["nome"]);
$end=($_POST["end"]);
$tel =($_POST["tel"]);
$conexao=mysql_connect("localhoost","root@localhost","");
$selec_banco= mysql_select_db("estudo", $conexao);
mysql_query("INSERT INTO tbl_cad VALUES ($nome, $end, $tel)");

?>

porém estou obtendo os seguintes warnings :

Citação

Warning: mysql_connect(): in C:\Arquivos de programas\EasyPHP-DevServer-14.1VC9\data\localweb\bdteste\pagina_acessobd.php on line 5

Warning: mysql_connect(): in C:\Arquivos de programas\EasyPHP-DevServer-14.1VC9\data\localweb\bdteste\pagina_acessobd.php on line 5

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\Arquivos de programas\EasyPHP-DevServer-14.1VC9\data\localweb\bdteste\pagina_acessobd.php on line 6

 

Postado

@Lucas109 os 2 primeiros warnigs sao por estar utilizando a funcao mysql_query, pois ja nao se usa mais , voce pode substituir por mysqli_connect

ex: 

mysqli_connect('localhost','usuario','senha','bd');

o outro erro nao sei :/

bom se voce for mudar para o mysqli_connect nao vai ser necessario usar o mysql_select_db,pois ja é informado o  BD  no mysqli_connect

  • Moderador
Postado

@Lucas109 @luscas

Aparentemente tem 3 erros ali.

 

1) a conexão com o banco de dados, o host foi escrito errado e o usuário não existe.  é só "root"

2) No mysql_query,  faltou colocar os campos no insert.

3) Nas 3 primeira linhas, não precisa colocar o $_POST["nome"] e os outros dentro de parênteses.

 

Mas faça como o @luscas mencionou, altere para o mysqli da seguinte forma:

<?php
$nome = $_POST["nome"];
$end  = $_POST["end"];
$tel  = $_POST["tel"];

$conexao = mysqli_connect("localhost","root","", "estudo");

$inserir = mysqli_query($conexao ,"INSERT INTO tbl_cad(nome, end, tel) VALUES ($nome, $end, $tel)");

if($inserir):
    echo "Cadastrado corretamente! \o/";
else:
    echo "Oops.. Algo deu errado :(";
endif;

?>

 

 

Postado

Fiz as alterações e o código ficou assim:

<?php
$nome = ($_POST["nome"]);
$end=($_POST["end"]);
$tel =($_POST["tel"]);
$conexao = mysqli_connect("localhost","root","", "estudo");
if(!$conexao)echo("Não foi possível conectar");
else{
	$teste=mysqli_query($conexao ,"INSERT INTO tbl_cad(Nome, Endereco, Telefone) VALUES ($nome, $end, $tel)");
	if(!$teste){
		echo "erro";
	}else echo "ok";
}

?>

porém mysqli_query está retornando falso;

  • Moderador
Postado

@Lucas109  Tem coisa errada novamente.

1) você está colocando entre parênteses o $_POST. Retire os parênteses

deixando desta forma:

$nome = $_POST["nome"];
$end  = $_POST["end"];
$tel  = $_POST["tel"];

2) Você está encadeando um teste de if dentro de outro que não precisa.

3) Está faltando aspas simples nas variáveis do seu insert.

 

Faça desta forma:( nesse caso recomendo que você copie e cole exatamente como está e teste para ver se funciona)

 

Primeiro crie um arquivo php chamado de conexao.php

<?php
   $conexao = mysqli_connect("localhost","root","", "estudo");
?>

Sim, só esta única linha.

 

Agora no seu arquivo php que recebe os dados do formulário faça assim:

<?php
//Recebem os dados do formulário
$nome = $_POST["nome"];
$end  = $_POST["end"];
$tel  = $_POST["tel"];

//Abre a conexão com o banco de dados
include 'conexao.php';

//insere os dados na tabela desejada
$inserir = mysqli_query($conexao ,"INSERT INTO tbl_cad(Nome, Endereco, Telefone) VALUES ('$nome', '$end', '$tel')");

//Testa SE a instrução de INSERT INTO foi realizada com sucesso
if($inserir):
    echo "Cadastrado corretamente! \o/";
else:
    echo "Oops.. Algo deu errado :(";
endif;
?>

PS: tente se acostumar a usar esta sintaxe alternativa do bloco de IF. Isso vai deixar seu código mais organizado e melhor de entender.

 

Basicamente seu código está errado nestas partes que mencionei. SE tudo ali estiver correto, vai funcionar sem problemas.

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!