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

Duvida PHP e MySQL 1

Minha duvida é na utilização de {chaves} na inserção dos VALUES, por que utilizar?

    function insereProduto ($conexao, $nome, $preco, $descricao, $categoria_id, $usado) 
    {$query = "INSERT INTO `produtos`(`nome`, `preco`,`descricao`, `categoria_id`, `usado`)  values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id}, {$usado})";
        return mysqli_query($conexao, $query);
 }
3 respostas
solução!

As chaves vão fazer o php ler o que tem dentro de cada variável, no caso da variável $nome por exemplo, essa variável dentro das chaves, vai fazer o php retornar o que tem dentro da variável, ou seja, o nome que você guardou dentro dessa variável, já se você não colocar as chaves, o PHP vai entender como uma string simples, no caso ele iria imprimir $nome.

Devo utilizar sempre as chaves quando manipular as variáveis, ou tem alguma ocasião especial?

values ('$nome', '$preco', '$descricao', '$categoria_id', '$usado')";

Eu estava usando assim, e estava funcionando até ter que colocar a variável $usado que é boolean.

Olá Rafael.

Geralmente eu não utilizo aspas nos values do meu insert quando estou fazendo este pelo php, exceto quando o valor é uma string. No caso eu sempre concateno a váriavel com as aspas simples, vide exemplo:

values ('".$nome."', '".$preco."', '".$descricao."', '".$categoria_id."', '".$usado."')";

De qualquer forma, acredito que a maneira mais correta de se manipular esse tipo de valores, é utilizando as {} mesmo, conforme exemplo acima.

De qualquer forma, fica uma segunda opção (: