Jump to content

Erro - base de dados


crok001
 Share

Recommended Posts

Boa tarde.

Criei um formulário em HTML.

É o seguinte:

<html>
<form name="form1" method="post" action="adicionarcliente.php">
Numero do cliente:
<input type="text" name="numCliente">
<br>
Nome:
<input type="text" name="nomeCliente">
<br>
Tipo de cliente:

<select name="tipoCliente">
<option value="empresa">Empresa</option>
<option value="particular">Particular</option>
</select>
<br>
Numero de contribuinte:
<input type="text" name="contri_Cliente">
<br>
Morada:
<input type="text" name="morada">
<br>
Localidade:
<input type="text" name="localidade">
<br>
Codigo Postal:
<input type="text" name="CodigoPostal">
<br>
Nome do contacto:
<input type="text" name="nome_do_contacto">
<br>
Telefone:
<input type="text" name="telefone">
<br>
Telemovel:
<input type="text" name="Movel">
<br>
Email:
<input type="text" name="Email">
<br>
Equipamento: <br>
<select name="equipamento" size="5" multiple>
<option value="impressora">Impressora</option>
<option value="gps">GPS</option>
<option value="monitor">Monitor</option>
<option value="portátil">Portatil</option>
<option value="carregador">Carregador</option>
<option value="cabo">Cabo</option>
<option value="mala">Mala</option>
<option value="bateria">Bateria</option>
<option value="desktop">Desktop</option>
<option value="tablet">Tablet</option>
</select>
<br>
Sistema Operativo:
<input type="text" name="sistemaOperativo">
<br>
Login:
<input type="text" name="login">
<br>
Password:
<input type="text" name="password">
<br>
Especificacoes Tecnicas:
<input type="text" name="especificacoesTecnicas">
<br>
Data de entrega na loja:
<input type="date" name="data_entrega_loja">

<br>

Data da intervencao:

<input type="date" name="dataIntervencao">
<br>

Data do fim da intervencao:

<input type="date" name="data_fim_intervencao">
<br>

Data do levantamento:

<input type="date" name="dataLevantamento">
<br>

Descricao Avaria:
<input type="text" name="descricaoAvaria">
<br>

Descricao do servico realizado:
<input type="text" name="descricao_servico_realizado">
<br>

<input type="reset" value="Apagar Campos"> <input type="submit" value="Enviar">
</form>
</html>

E depois tenho este PHP:

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="root"; // Mysql password
$db_name="cliente reparacao"; // Database name
$tbl_name="cliente"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$numCliente=$_POST['numCliente'];
$nomeCliente=$_POST['nomeCliente'];
$tipoCliente=$_POST['tipoCliente'];
$contri_Cliente=$_POST['contri_Cliente'];
$morada=$_POST['morada'];
$localidade=$_POST['localidade'];
$CodigoPostal=$_POST['CodigoPostal'];
$nome_do_contacto=$_POST['nome_do_contacto'];
$telefone=$_POST['telefone'];
$Movel=$_POST['Movel'];
$Email=$_POST['Email'];
$equipamento=$_POST['equipamento'];
$sistemaOperativo=$_POST['sistemaOperativo'];
$login=$_POST['login'];
$password=$_POST['password'];
$especificacoesTecnicas=$_POST['especificacoesTecnicas'];
$data_entrega_loja=$_POST['data_entrega_loja'];
$dataIntervencao=$_POST['dataIntervencao'];
$data_fim_intervencao=$_POST['data_fim_intervencao'];
$dataLevantamento=$_POST['dataLevantamento'];
$descricaoAvaria=$_POST['descricaoAvaria'];
$descricao_servico_realizado=$_POST['descricao_servico_realizado'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(numCliente, nomeCliente, tipoCliente, contri_Cliente, morada, localidade, CodigoPostal,
nome_do_contacto, telefone, Movel, Email, equipamento, sistemaOperativo, login, password, especificacoesTecnicas,
data_entrega_loja, dataIntervencao, data_fim_intervencao, dataLevantamento, descricaoAvaria, descricao_servico_realizado)
VALUES('$numCliente', '$nomeCliente', '$tipoCliente', '$contri_Cliente', '$morada', '$localidade', '$CodigoPostal,
'$nome_do_contacto', '$telefone', '$Movel', '$Email', '$equipamento', '$sistemaOperativo', '$login', '$password', '$especificacoesTecnicas',
'$data_entrega_loja', '$dataIntervencao', '$data_fim_intervencao', '$dataLevantamento', '$descricaoAvaria', '$descricao_servico_realizado')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Sucesso!!";
echo "<BR>";
echo "<a href='verclientes.php'>Ver Clientes</a>";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>

Sempre que preencho o formulário e faço o submit ele está me sempre a dar erro.

Alguém me poderá dar uma ajuda?

Edited by apocsantos
geshi
Link to comment
Share on other sites

qual é o erro que te aparece?

Experimenta colocar isto no teu código em vez do que lá tens.

mysql_connect('$host', '$username', '$password')or die("cannot connect");
mysql_select_db('$db_name')or die("cannot select DB");

Com estas alterações que me disseste para fazer, dá-me o seguinte erro:

Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host '$host' (11001) in C:\AppServ\www\clientes reparacao\adicionarcliente.php on line 10

cannot connect

Alguém que me dê aqui uma ajuda sff

Link to comment
Share on other sites

qual é o erro que te aparece?

Experimenta colocar isto no teu código em vez do que lá tens.

mysql_connect('$host', '$username', '$password')or die("cannot connect");
mysql_select_db('$db_name')or die("cannot select DB");

??? que raio de código é esse ???

mysql_connect($host, $username, $password)or die("cannot connect : " . mysql_error());
mysql_select_db($db_name)or die("cannot select DB : " . mysql_error());
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

??? que raio de código é esse ???

mysql_connect($host, $username, $password)or die("cannot connect : " . mysql_error());
mysql_select_db($db_name)or die("cannot select DB : " . mysql_error());

Agora o meu unico problema é por causa do if e do else.

Vai dar sempre error.

E eu tento mudar tudo e ainda não consegui.

Se alguém me puder ajudar, agradeço.

Link to comment
Share on other sites

que if ? ... era suposto as pessoas saberem do que esta´s a falar ?

No fim do código PHP.

Desculpa por não me ter expressado bem.

Este código.

// if successfully insert data into database, displays message "Successful".
if($result){
echo "Sucesso!!";
echo "<BR>";
echo "<a href='verclientes.php'>Ver Clientes</a>";
}
else {
echo "ERROR";
}
?>
Link to comment
Share on other sites

a mensagem de erro só aparece quando a execução do query mysql é invalidada pela servidor.

o que tens de fazer (porque ninguem vai estar a olhar para linhas e linhas de código) é fazer output da mensagem de erro do mysql quando o query falha:

echo "ERROR" . mysql_error();
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Em 4/15/2015 às 11:36, HappyHippyHippo disse:

a mensagem de erro só aparece quando a execução do query mysql é invalidada pela servidor.

o que tens de fazer (porque ninguem vai estar a olhar para linhas e linhas de código) é fazer output da mensagem de erro do mysql quando o query falha:


echo "ERROR" . mysql_error();

 

Mudei o que disseste e agora deu-me este erro.

Citação

ERRORYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Andre', '912333334', '912345678', 'qewsad', 'portátil', 'win', 'cliente', 'clie' at line 4

De certeza que é porque sou novato e percebo pouco disso. E não percebi o que tenho mal :O

Link to comment
Share on other sites

não só não consigo ler o que acabaste de escrever como é necessário saber o SQL executado:

echo "SQL: " . $sql . "<br />\n";
echo "ERROR: " . mysql_error() . "<br />\n";

Não percebi se o que querias dizer era para eu mudar o que tinha por isso que me disseste. Mas se for o que depois dá é isto.

SQL: INSERT INTO cliente(numCliente, nomeCliente, tipoCliente, contri_Cliente, morada, localidade, CodigoPostal, nome_do_contacto, telefone, Movel, Email, equipamento, sistemaOperativo, login, password, especificacoesTecnicas, data_entrega_loja, dataIntervencao, data_fim_intervencao, dataLevantamento, descricaoAvaria, descricao_servico_realizado) VALUES('123456', 'Andre', 'empresa', '123455', 'er', 'er', '6050, 'Andre', '912333334', '912345678', 'qewsad', 'portátil', 'win', 'cliente', 'cliente', 'eadads', '2015-04-13', '2015-04-13', '2015-04-14', '2015-04-15', 'sdas', 'adsa')

ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Andre', '912333334', '912345678', 'qewsad', 'portátil', 'win', 'cliente', 'clie' at line 4

Link to comment
Share on other sites

eu quando disse que não consegui ler era a dizer que não se consegue ler o que apresentaste sem fazer zoom

e como voltaste a apresentar um resposta da mesma forma, sem te dares ao trabalho em pensar no que uma pessoa tem de fazer para te tentar ajudar, a única coisa que vou dizer é:

- olha para o SQL apresentado

- olha para onde a mensagem de erro diz ser o erro

- olha para os caracteres antes do local onde a mensagem de erro diz ser o erro

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

eu quando disse que não consegui ler era a dizer que não se consegue ler o que apresentaste sem fazer zoom

e como voltaste a apresentar um resposta da mesma forma, sem te dares ao trabalho em pensar no que uma pessoa tem de fazer para te tentar ajudar, a única coisa que vou dizer é:

- olha para o SQL apresentado

- olha para onde a mensagem de erro diz ser o erro

- olha para os caracteres antes do local onde a mensagem de erro diz ser o erro

Ok, obrigado vou tentar fazer isso 😄

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.