Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Unknown error 1049

Estou utilizando o Wamp com php 7.0.10 e mysql 5.7.14, criei o banco de dados e a tabela conforme orienta o curso mas estou recebendo essas mensagens de erro:

( ! ) Warning: mysqli_connect(): (HY000/1049): Unknown error 1049 in Z:\Desenvolvimento\wamp64\www\loja\adiciona-produto.php on line 9
Call Stack
#    Time    Memory    Function    Location
1    0.0117    367416    {main}( )    ...\adiciona-produto.php:0
2    0.0120    367712    mysqli_connect ( )    ...\adiciona-produto.php:9

( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in Z:\Desenvolvimento\wamp64\www\loja\adiciona-produto.php on line 11
Call Stack
#    Time    Memory    Function    Location
1    0.0117    367416    {main}( )    ...\adiciona-produto.php:0
2    0.1519    368336    mysqli_query ( )    ...\adiciona-produto.php:11

Produto Ar não foi adicionado.


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

$nome = $_GET["nome"];
$preco = $_GET["preco"];

$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
$conexao = mysqli_connect('localhost', 'root', '', 'loja');

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

?>
1 resposta
solução!

Oi Cristiano, tudo bom?

Aparentemente, aqui:

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

Estamos enviando um booleano no lugar da conexão:

( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in Z:\Desenvolvimento\wamp64\www\loja\adiciona-produto.php on line 11

Isso significa que nossa conexão falhou:

( ! ) Warning: mysqli_connect(): (HY000/1049): Unknown error 1049 in Z:\Desenvolvimento\wamp64\www\loja\adiciona-produto.php on line 9

Pelos parametros que estamos passando na conexão:

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

Acredito que tenha a ver com a versão do mysql.

A nova versão 5.7 por segurança não permite o acesso ao banco pelo root sem permissão root/adminstrador. Uma boa saida é você criar um usuario com senha para seu banco e utilizar ele ao invés do root ao longo do curso. aqui tem um tutorial bem legal em relação a isso.

Uma outra possibilidade é realizar o downgrade do banco.

Qualquer problema é só falar. Abraço e bons estudos.