Nesse trecho $query = "insert into produtos (nome, preco) values ('{$nome}', ${preco})";
a variavel $nome esta com aspas simples ('{$nome}' dessa forma), e a variavel $preço está sem, porque?
Nesse trecho $query = "insert into produtos (nome, preco) values ('{$nome}', ${preco})";
a variavel $nome esta com aspas simples ('{$nome}' dessa forma), e a variavel $preço está sem, porque?
No caso da Variável preço , ela é uma variável do tipo numérica , ou melhor dizendo, é um tipo decimal na sua tabela produtos no banco de dados mysql.
No caso do banco de dados, variáveis do tipo numéricas como decimal, int, etc, quando você uma usa um comando sql como 'insert', você tanto pode usar aspas simples, como pode informar o valor SEM o uso das aspas.
Agora se o tipo do campo da tabela for varchar, ou seja, string (texto), aí é obrigatório o uso das aspas.
Porém outros SGBS s (sistemas gerenciadores de banco de dados) os campos numéricos devem ser informados SEM o uso de aspas.
Nesse caso tanto faz, inclusive você pode fazer um teste no seu código:
${preco} ou ' ${preco} '
Isso está relacionado ao banco de dados MySQL
Se você for usar o comando diretamente no phpMyAdmin você pode perceber que tanto faz usar COM aspas como SEM aspas.
insert into produtos (nome, preco) values ('Bola', 10 );
ou
insert into produtos (nome, preco) values ('Bola', '10' );
Muito boa sua explicação, agora compreendi,hehe..muito obrigado amigo