Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Inside

Insert não funciona

Recommended Posts

Caros amigos,

 

comecei a programar em PHP ondem, já vi alguma coisa no Wordpress mas ontem comecei a fazer um site em PHP.

 

Gostaria de uma ajuda. Quando executo o código abaixo ele não insere os dados. Não dá erro mas também não insere.

 


$conecta = mysql_connect("localhost","root","insins");
if (!$conecta)
 {
 die('Erro: ' . mysql_error());
 }

// nome do banco
mysql_select_db("recanto", $conecta);

$nome = "Carlos";
$email = "empresa@empresa.com.br";

$sql="INSERT INTO mala_list (email, nome)
VALUES
('$email','$nome')";

mysql_query($conecta, $sql);

mysql_close($conecta);

 

 

O que está errado nesse código?

 

*Eu consigo fazer consultas ao DB e até UPDATE mas não consigo inserir.

 

Obrigado pela atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta colocar o $nome dentro das ' (aspas simples) igual o $email

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta colocar o $nome dentro das ' (aspas simples) igual o $email

 

Caro wolfphw

 

Não funcionou. O que pode ser?

 

Vou fazer mais uma pergunta: A tabela "mala_list" tem 8 campos incluindo o ID que é auto numérico.

 

O número de campos influencia no INSERT? Porque no ASP se eu tenho 8 campos mas quero incluir dados apenas em 2 não preciso especificar que vão ficar vazios.

Compartilhar este post


Link para o post
Compartilhar em outros sites
O que está errado nesse código?

tente declarar as variaveis:

'$email','$nome'

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente declarar as variaveis:

'$email','$nome'

 

Caro Fernando

 

Declarar seria isso aqui?

 

$nome = "Carlos";

$email = "empresa@empresa.com.br";

 

 

Se for isso já estava feito, mas acho que não postei no código inicial.

 

Enfim, mesmo tendo declarado os valores não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poe a sintaxe SQL em uma linha só.

 

Ex.:

 

$sql = "INSERT INTO `mala_list` (`email`, `nome`) VALUES ('$email', '$nome')";

 

 

 

Caro Dian Carlos

 

É impressionante mas não funciona. Acho interessante que eu estou conseguindo listar os dados e também fazer updates em campos que somam valores tipo + 1 no campo visita. Mas não consigo inserir nada no DB.

 

Criei outra tabela com essa estrutura e teste mas não consigo inserir nessa nova tabela:

 

CREATE TABLE `lista` (
`id` INT(10) NULL DEFAULT NULL,`email` VARCHAR(50) NULL DEFAULT NULL,`nome` VARCHAR(50) NULL DEFAULT NULL)COLLATE='latin1_swedish_ci'ENGINE=InnoDB;

 

 

 

Veja como está o meu código, eu executo mas não insere os dados:

<?php
$conecta = mysql_connect("localhost","root","insins");
if (!$conecta)
 {
 die('Erro: ' . mysql_error());
 }

// nome do banco
mysql_select_db("recanto", $conecta);

$nome = "Carlos";
$email = "empresa@empresa.com.br";

$sql = "INSERT INTO `lista` (`email`, `nome`) VALUES ('$email', '$nome')";

mysql_query($conecta, $sql);

mysql_close($conecta);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha.. ha mtas possibilidades, mas se ainda n resolveu:

- na linha:

mysql_query($sql) 

coloca o classico "or die..error":

mysql_query($sql) or die(mysql_error());

- na linha:

$sql = "INSERT INTO `lista` (`nome`, `email`) VALUES ('$nome', '$email')";

tente tirar as crases, deixe assim:

$sql = "INSERT INTO lista (nome, email) VALUES ('$nome', '$email')";

- d 1 "echo" nas variaveis;

- passe as versões dos programas (todos);

- instalou (habilitou, configurou) a extensão p/ o MySQL?

- esta abrindo a pg como?

- certeza absoluta q o apache esta ativado?

 

Declarar seria isso aqui?

$nome = "Carlos";

$email = "empresa@empresa.com.br";

não necessariamente, declarar é definir, criando as variaveis..

dizendo de onde elas vem, enfim...

ex: se o dado vier de um formulario, então em PHP você declara assim:

$variavel1=$_POST['cx de texto onde foi digitado o dado'];

SE o metodo do formulario for Post, se for GET, mude p/ $_GET, ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que setar todos os campos mesmo você não os preenchendo por exemplo:

 

Tabela:

ID, Nome, sobrenome

 

para deixa um valor em branco deixe apenas as aspas '', caso queira colocar algo como a variavel $nome use '$nome' lembre de sempre separar por virgulas '','$nome'

 

<?php
$nome="Manolo";
$sobrenome="Junior";
$conectar= mysql_connect("host","usuario","senha");
mysql_select_db("minhasql");
//coloque o nome do banco de dados e da tabela abaixo:
sql="INSERT INTO `Nome do banco`.`Nome da tabela` (`ID`, `Nome`, `SobreNome`) VALUES ('','$nome','$sobrenome');";
$resultado = mysql_query($sql, $conectar);

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim

<?php
$nome= $_POST['nome'];// onde nome dentro dos colchetes é o input do seu formulario.
$sobrenome= $_POST['sobrenome'];//onde sobrenome dentro dos colchetes é o input do seu formulario.
$conectar= mysql_connect("host","usuario","senha");
mysql_select_db("minhasql");
//coloque o nome do banco de dados e da tabela abaixo:
sql= mysql_query("INSERT INTO 'wordpress'.'Nome da tabela' (nome, sobrenome) VALUES ('$nome','$sobrenome');");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.