Ir para conteúdo
Fórum Script Brasil
  • 0

Sintaxe Insert into


Rafael Rocha B.

Pergunta

Olá pessoal, sou iniciante e estou com um pequeno problema com a sintaxe do mysql, já procurei alguns tutoriais mas nenhuma trás especificamente o que preciso.

Enfim, vou explicar, ex:

$sql "INSERT INTO inscritos (nome, endereco, telefone) VALUES ('$nome', '$endereco', '$telefone')";

O problema vem quando tento fazer a mesma coisa de forma diferente:

$sql "INSERT INTO inscritos (nome=$nome, endereco=$endereco, telefone=$telefone)";

O servidor simpliemente não aceita a 2º opção.

Seguinte, tenho um formulário de inscrição pra um evento em duas partes, a 1º parte consiste na escolha do curso por parte do usuário, então no momento q ele escolhe o php verifica se ainda tem vaga disponível, se tiver insere a escolha do curso no banco e exibe o resto do formulário. Agora vem o problema , quando o usuário preenche o 2º formulário as informações sobreescreve o registro do curso, por isso preciso usar o insert into dessa forma $sql "INSERT INTO inscritos (nome=$nome, endereco=$endereco, telefone=$telefone)";

Deu pra entender ou expliquei de forma confusa??

Se alguém tiver tempo e puder dar um tok eu agradeceria.

O erro exibido é:

Você tem um erro de sintaxe no seu SQL próximo a '='Rafael', data_nascimento='1987/18/04', endereco='Rua Professora', telefone='32' na linha 1

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'Rafael Rocha B.'

A sintaxe para insert está descrita no manual do MySQL desta forma:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] nome_tabela [(nome_coluna,...)]
VALUES ((expressão | DEFAULT),...),(...),...
[ ON DUPLICATE KEY UPDATE nome_coluna=expressão, ... ]
or INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] nome_tabela [(nome_coluna,...)]
SELECT ...
or INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] nome_tabela
SET nome_coluna=(expressão | DEFAULT), ...
[ ON DUPLICATE KEY UPDATE nome_coluna=expressão, ... ]
A primeira opção sua, definida abaixo, está correta.
$sql "INSERT INTO inscritos (nome, endereco, telefone) VALUES ('$nome', '$endereco', '$telefone')";
Esta outra
$sql "INSERT INTO inscritos (nome=$nome, endereco=$endereco, telefone=$telefone)";
Não existe. Você deverá usar como na 3a. opção. e ficaria assim:
INSERT INTO inscritos 
SET nome=$nome, endereco=$endereco, telefone=$telefone;

Para mais detalhes, leia o manual do MySQL de sua versão.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...