Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Estou com dúvida no curso de PHP, MySQL e Fundamentos da Web, no exercício do capítulo Inserindo produtos no banco de dados.

<?php include ("cabecalho.php");?>

<?php $nome = $_GET["nome"]; $email = $_GET["email"]; $telefone = $_GET["telefone"];

======================CONEXAO NO BANCO DE DADOS==================================

$conexao = mysqli_connect('localhost', 'root', '', 'cadClientes');

$query = "INSERT INTO clientes(nome, email, telefone) values ('{$nome}', {$email}, {$telefone})";

if(mysqli_query($conexao, $query)){ ?>

<?php echo $nome; ?>, Cadastro realizado com sucesso! Para confirmação acesse seu e-mail <?php echo $email; ?>

<?php }else{ ?>

<?php echo $nome; ?>, Cadastro não realizado

<?php

} ?>

<?php include ("rodape.php");?>

11 respostas

Qual erro? A principio já vejo uma diferença no INSERT, values... tem chave simples apenas no $nome nos e-mail também deveria ter.

Pois bem, essa é minha dúvida se somente no nome tem as chaves simples ou se nas outra variáveis também?*#$%

solução

Como $nome e $email são strings, tem que ter aspas simples nos dois.

A query ficaria assim:

$query = "INSERT INTO clientes(nome, email, telefone) values ('{$nome}', '{$email}', {$telefone})";

Valew então só coloco ''aspas simples em Strings? entendi.

Muito Grato

Sim, aspas são usadas só em Strings.

Só para ajudar a entender melhor sobre aspas simples e duplas, segue um exemplo, abç!

Primeiramente armazenar na variável "$valor" um número qualquer, no caso é 3 ''' <?php

$valor=3;

?> Bom, agora nos queremos mostrar o valor que esta dentro desta variável: <?php

echo '$valor';

?> Isso vai funcionar pessoal? …….Não, pois quando utilizamos aspas simples nosso php ele não interpreta o conteúdo de nosso texto, e simplesmente exibe como texto, então o resultado obtido acima sera:

$valor

Mas agora vamos exibir o conteúdo desta nossa variável, que no caso é 3, então vamos utilizar as aspas duplas para o php interpretar o conteúdo deste nosso texto e nos exibir o valor que esta na variável "$valor" como no exemplo: <?php

echo "$valor";

?> Então o resultado obtido será: 3 '''

Galera obrigado mesmo pela ajuda, agora tenho outro problema não sei se alguém consegue ajudar.

Pois bem, estou usando o método de envio _POST ao em vez de _GET mais nas duas formas o meu banco esta aceitando cadastrar sem preenchimento de dos dados HELP, MINHA CONDIÇÃO DE IF FICOU ASSIM:

<?php include ("cabecalho.php");?>

<?php $nome = $_POST["nome"]; $email = $_POST["email"]; $fone = $_POST["fone"];

$conexao = mysqli_connect('localhost', 'root', '', 'cadastro');

$query = "insert into cadastro(nome, email, fone) values ('{$nome}', '{$email}', '{$fone}')";

if(mysqli_query($conexao, $query)){ ?>

<?php echo $nome; ?>, Cadastro realizado com sucesso! Para confirmação acesse seu e-mail <?php echo $email; ?>

<?php }else{ ?>

<?php echo $nome; ?>, Cadastro não realizado

<?php

} ?>

[enter code here][1]

Jose, Acho interessante você rever a vídeo aula sobre o assunto. Eu também achei estranho como ele faz a condição para SE TIVER OS DADOS CADASTRA SE NÃO NÃO CADASTRA, até porque precisa de mais função e detalhes para tratar os campos vazios.

Obrigado Ph também acho estranho ta faltando algo mesmo