• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ricardo_1977

iniciante

14 mensagens neste tópico

Boas,

alguem me pode dar um exemplo concreto de como fazer para ligar uma bd em mysql com php e html?

eu ja tentei com 1 tutorial mas obtenho sempre mensagem de erro na insercao de dados na BD.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é um exemplo simples de insercao do nome e uma mensagem na bd mas da me a parte de erro:"Não foi possivel inserir".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes mostrar o código?

E verifica que o nome da base de dados, o nome da tabela e/ou os nomes das colunas da bd estão correctos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

aqui vai o codigo:

1->formulario.html:

<html>

<head>

<title>Formulário para inserir na BD</title>

<meta http-equiv = "Content-Type" content ="text/html; charset = iso-8859-1">

</head>

<body>

<form action = "inserindo.php" method = "post" name = "Mural" id = "Mural">

<table width = "450" border = "0" cellspacing = "0" cellpadding = "3">

<tr>

<td width=111"><div align = "right">Nome:</div></td>

<td width = "339"><input name = "nome" type = "text" id = "nome" size = "30"></td>

</tr>

<tr>

<td valign = "top"><div align = "right">Mensagem:</div></td>

<td> <textarea name ="mensagem" cols ="30" rows = "10" id = "mensagem"></textarea></td>

</tr>

<tr>

<td height="29" colspan="2" valign="top"><div align="center">

<input type="submit" name = "Submit" value="Inserir na base de dados">

</div>

</td>

</tr>

</table>

<form>

</body>

</html>

2->conectdb.php:

<?php

$hostname = 'localhost';

$username= 'root';

$senha = '';

$banco = 'emac';

$db = mysql_connect($hostname,$username,$senha);

mysql_select_db($banco,$db);

?>

3->inserindo.php

<html>

<head>

<title> inserir no BD</title>

<meta http-equiv="Content-Type" content ="text/html; charset=iso-8859-1">

</head>

<body>

<?

require("conectdb.php");

$data = date('Y-m-d');

$hora=strftime("%H:%M:%S");

$sqlinsert = "INSERTINTO tb_mural(id_mensagem,nome,mensagem,data,hora)

VALUES ('','$nome','$mensagem','data','$hora')";

mysql_query($sqlinsert) or die ("Não foi possivel inserir");

echo "Na data $data e na hora $hora<br>$nome disse:<br>$mensagem";

?>

</body>

</html>

4->exibir.php

<html>

<head>

<title>exibindo o conteúdo da tabela tb_mural</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?

require("conectdb.php");

$sql = "Select * FROM tb_mural";

$limite = mysql_query("$sql");

while ($sql = mysql_fetch_array($limite) ) {

$id_mensagem = $sql["id_mensagem"];

$nome = $sql["nome"];

$mensagem = $sql["mensagem"];

$data            = $sql["data"];

$hora = $sql["hora"];

echo "Mensagem do id $id_mensagem<br>$nome<br>$mensagem<br>Na data $data e na hora $hora<br><br>";

}

?>

</body>

</html>

eu corro o formulario.html no localhost mas ao fim sa me sempre o erro.

a tabela é simples e esta bem definida.

eu ainda estou a iniciar e estou a tentar perceber isto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ricardo_1977, utiliza a tag code. :D

Tenta antes.

<?php
   require("conectdb.php");
   $data = date('Y-m-d');
   $hora=strftime("%H:%M:%S");
   $sqlinsert = "INSERTINTO tb_mural(id_mensagem,nome,mensagem,data,hora)
   VALUES ("'.$nome.'","'.$mensagem.'","'.data.'","'.$hora.'")";
   mysql_query($sqlinsert) or die ("Não foi possivel inserir");
   echo "Na data $data e na hora $hora<br>$nome disse:<br>$mensagem";
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

da me o seguinte erro:Parse error: parse error in C:\xampp\htdocs\inserindo.php on line 12

a minha BD tem uma so tabela e com 5 campos:

id_mensagem,nome,mensagem,data,hora.

a linha 12 é a ...VALUES ("'.$nome.'","'.$mensagem.'","'.data.'","'.$hora.'")";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa, enganei-me  escrever.

<?php
   require("conectdb.php");
   $data = date('Y-m-d');
   $hora=strftime("%H:%M:%S");
   $sqlinsert = "INSERTINTO tb_mural(id_mensagem,nome,mensagem,data,hora)
   VALUES (\"'.$nome.'\",\"'.$mensagem.'\",\"'.$data.'\",\"'.$hora.'\")";
   mysql_query($sqlinsert) or die ("Não foi possivel inserir");
   echo "Na data $data e na hora $hora<br>$nome disse:<br>$mensagem";
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

agora da novamente o erro "não foi possivel inserir".

desculpa a ignorancia eu estou a usar o xampp e usei o myphpadmin.

criei a BD e depois o codigo descrito acima em blocos separados cada qual com o nome descrito em cima.

depois so tenho no internet explorer chamar o localhost com o formulario.html certo?

faço desta forma:http://localhost/formulario.html

isto esta correcto não esta?não tenho de fazer mais nada?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim.

Coloca depois da query.

echo mysql_errno($db).": ".mysql_error($db);

E diz o que dá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

deu isto:0: Não foi possivel inserir

eu agora vou sair so volto amanha de manha.

se me puderes ajudar agradeço.

fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estranho. Se ele dá zero é porque conseguiu inserir sem erros. :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se este codigo estiver assim:

$sqlinsert = "INSERTINTO

Então é normal que não funcione. Esprimenta colocar com espaço entre as palavras :D

$sqlinsert = "INSERT INTO .....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora