Ir para conteúdo

POWERED BY:

Arquivado

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

duarte69

[Resolvido] php + mysql --inserir dados

Recommended Posts

Boas, estou de volta com os meus problemas, desta vem em php.

 

Tenho este formulário em html:

 

CODE
<head>

<meta http-equiv="Content-Language" content="pt">

</head>

<p>

<br>

</p>

<form method="POST" action="inserir_reg.php">

<p>Nome: <input type="text" name="nome" size="20"></p>

<p>Morada: <input type="text" name="morada" size="20"></p>

<p>Telefone: <input type="text" name="telefone" size="20"></p>

<p><input type="submit" value="Submeter" name="B1"><input type="reset" value="Repor" name="B2"></p>

</form>

 

 

O formulário chama o ficheiro com este código em php:

 

CODE
<?php

function erro (){

echo ("Dados em falta");

}

 

function inserir(){

$nome=$_POST['nome'];

$morada=$_POST['morada'];

$telefone=$_POST['telefone'];

 

 

//inserir registo

 

$dblink = mysql_connect($localhost) or die( 'Erro de conexão com o MySQL' );

 

mysql_select_db(trabalho,$dblink);

 

$sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')";

 

mysql_query( trabalhado, $sql );

 

mysql_close();

}

//verificar se todos os valores foram introduzidos

 

if ($_POST['nome'])

{

if ($_POST['email']){

 

if ($_POST['telefone'])

inserir();

else

erro();

}

else

erro();

}

else

erro ();

 

 

 

?>

 

 

O problema é que os registo não são inseridos, não sei o que está mal.

 

O nome da bd é "trabalho" e a tabela onde quero inserir dados é "trabalhadores" e tem 4 campos (id - aut-incremento, nome, morada e telefone).

 

Já agora, depois de inserir os dados preciso de os imprimir, como se faz isso?

 

 

Desde já agradeço a vossa ajuda.

 

 

Cumps

duarte69

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema esta no mysql_querry

sintax é

mysql_query ( string $query [, resource $link_identifier ] )

 

 

 

 

substitua

mysql_query( trabalhado, $sql );

 

por

mysql_query($sql, $dblink);

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra coisa conexao

 

substitua

$dblink = mysql_connect($localhost) or die( 'Erro de conexão com o MySQL' );

 

ai você informa usuario e senha pra conectar no banco

mysql_connect('localhost', 'mysql_user', 'mysql_password');

 

 

tambem

mysql_select_db("trabalho",$dblink);

 

 

passa na funcao tambem os parametros

 

function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){

$nome=$_POST['nome'];

$morada=$_POST['morada'];

$telefone=$_POST['telefone'];

 

.

.

.

}

 

 

e para chamar funcao mesma coisa

 

inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']);

 

acho que agora vai :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,

 

Está a dar erro na função que deste(function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){

) diz '('expecting')'

 

 

não percebi bem onde devo meter a função nem onde a devo chamar, sou novo nisto :wacko:

 

 

Já agora 'mysql_user', 'mysql_password' , fica assim ou tenho que meter o meu username e pass?

 

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

 

Tente colocar o nome das colunas que você quer inserir.

 

Tente trocar:

$sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')";

 

por

$sql = "INSERT INTO trabalhadores (nome. morada, telefone) VALUES ('$nome','$morada','$telefone')";

 

 

flws http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce deve substituir o usuario e senha do banco

 

<?php

function erro (){

echo ("Dados em falta");

}

 

function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){

$nome = $_POST['nome'];

$morada = $_POST['morada'];

$telefone = $_POST['telefone'];

 

//inserir registo

$dblink = mysql_connect('localhost', 'mysql_user', 'mysql_password') or die( 'Erro de conexão com o MySQL' );

 

//selecionar banco de dados

mysql_select_db("trabalho",$dblink);

$sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')";

mysql_query( trabalhado, $sql );

mysql_close();

}

//verificar se todos os valores foram introduzidos

 

if ($_POST['nome'] && $_POST['email'] && $_POST['telefone']){

inserir();

}

else{

erro();

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,

 

Isto está a dar um erro nesta linha: function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){

 

O erro é o seguinte: Parse error: syntax error, unexpected '[', expecting ')' in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 6

 

 

Se alguém poder ajudar agradecia.

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi amigo....

tenta tirar os parametros da função, deixando apenas : function inserir().

 

eu testei aqui e deu certo, incluiu os dados direitinho no banco...

 

qualquer coisa estamos aew

 

 

 

Boas,

 

Isto está a dar um erro nesta linha: function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){

 

O erro é o seguinte: Parse error: syntax error, unexpected '[', expecting ')' in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 6

 

 

Se alguém poder ajudar agradecia.

 

Cumps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,

Obrigado pela ajuda.

 

 

O meu código está assim:

 

<?php

function erro (){

echo ("Dados em falta");

}

 

function inserir(){

$nome = $_POST['nome'];

$morada = $_POST['morada'];

$telefone = $_POST['telefone'];

 

//inserir registo

$dblink = mysql_connect('localhost', 'root', '') or die( 'Erro de conexão com o MySQL' );

 

//selecionar a base de dados

mysql_select_db("trabalho",$dblink);

$sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')";

mysql_query( trabalhado, $sql );

mysql_close();

}

//verificar se todos os valores foram introduzidos

 

if ($_POST['nome'] && $_POST['morada'] && $_POST['telefone']){

inserir();

}

else{

erro();

}

 

?>

 

 

Mas está a dar erro na linha a negrito, Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 17

 

 

Se eu substituir por mysql_db_query, já não dá erro, mas também não insere :S

 

Desculpem estar a ser chato mas não consigo encontrar nenhum erro.

 

Cumps

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.