Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Produto não adicionado

Boa tarde amigos,

Estou tendo dificuldades com esse exercício. Acontece que, quando adiciono o produto, recebo a mensagem de erro e meu produto não é adicionado no banco de dados. Já conferi todo o código e até usei o código pronto do início do capítulo. Tenho a impressão de que o problema é a configuração do servidor local. Percebo que quando entro mo PHPMyAdmin, na parte de cima tem a informação de que a porta é a 8889

Servidor: localhost:8889 

Apesar disso, ao acessar o servidor pelo navegador, o endereço é

http://localhost:8888

Ou seja, deve estar havendo um erro ao conectar o PHP ao banco de dados. Como eu poderia resolver?

Desde já obrigado

6 respostas

http://localhost/loja/ já criou a pasta loja? o endereço pra acessar é esse acima.

Bom dia Rodrigo

Na verdade meu projeto está em um subdiretório dentro de localhost. Eu corrigi isso incluindo no parâmetro da conexão e ficou assim:

$conexao = mysqli_connect('http://localhost/aluraphpmysql', 'root', '', 'loja');

Ou seja: a pasta "loja" está dentro de "aluraphpmysql".

Apesar desse erro, depois que corrigi continua não funcionando.

Boa tarde

Acabei de adicionar a função

mysqli_erro

para tentar rastrear o problema, mas meu código não retorna nada.

Abaixo o código completo:

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

<?php
$nome  = $_GET["nome"];
$preco = $_GET["preco"];

$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";

$conexao = mysqli_connect('http://localhost/aluraphpmysql', 'root', '', 'loja');

if (mysqli_query($conexao, $query)) {
    ?> <p class="alert-success"> Produto <?php $nome;
    ?>, <?php $preco;
    ?>adicionado com sucesso! </p>
    <?php } else { $msg = mysqli_error($conexao)?> <p class="alert-danger"> Produto <?php $nome;
    ?> não foi adicionado. Erro: <?php $msg;?></p>
    <?php };?>

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

http://localhost/aluraphpmysql Substituí somente por localhost

Esse era o jeito que eu estava fazendo no primeiro post da dúvida. De qualquer jeito, alterei para

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

e continua do mesmo jeito.

solução!

Problema resolvido. Fui procurar na documentação do MAMP (servidor local) e descobri que a senha padrão não é ""(vazio) e sim "root".

Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software