Ir para conteúdo

POWERED BY:

Arquivado

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

talita.r.g

Não conecta banco de dados!!!

Recommended Posts

Olá!!!

 

Fiz um formulário para cadastrar usuários, porém não consigo cadastra-los, apresenta um erro de conexão, mas a senha, o user o banco e o host estão corretos, verifiquei agora mesmo com o provedor!!

Será que fiz alguma bobagem?

 

Alguém poderia me ajudar???

 

O Form:

PHP

[*]<html>

[*] <head>

[*] <title>Administrador Net Space</title>

[*] <link href="estilo.css" rel="stylesheet" type="text/css" />

[*] </head>

[*]

[*]<body>

[*]

[*] <form action="proc_INSusuario.php" method="post">

[*] <table>

[*] <tr> 

[*] <td class="Titulo02" align="right">Nome </td>

[*] <td><input type="text" name="nome" /></td>

[*] </tr>

[*]

[*] <tr> 

[*] <td class="Titulo02" align="right">Sobrenome </td>

[*] <td><input type="text" name="sobrenome" /></td>

[*] </tr>

[*]

[*] <tr> 

[*] <td class="Titulo02" align="right">Data de Cadastro </td>

[*] <td><input type="text" name="data" /></td>

[*] </tr>

[*]

[*] <tr> 

[*] <td class="Titulo02" align="right">Login </td>

[*] <td><input type="text" name="login" /></td>

[*] </tr>

[*]

[*] <tr> 

[*] <td class="Titulo02" align="right">Senha </td>

[*] <td><input type="password" name="login" /></td>

[*] </tr>

[*]

[*] <tr>

[*] <td class="Titulo02" align="right">Status</td>

[*] <td>

[*] <select name="status">

[*] <option value="ativo">Ativo</option>

[*] <option value="inativo">Inativo</option>

[*] </select>

[*] </td>

[*] </tr>

[*]

[*] <tr>

[*] <td align="right"> <input class="Form_Botao" type="submit" name="enviar" value="Enviar" /></td>

[*] <td align="right"> <input class="Form_Botao" type="submit" name="camcelar" value="Cancelar" /></td>

[*] </tr>

[*]

[*] </table>

[*] </form>

[*]</body>

[*]</html>

[*]

 

PHP

[*]<?php

[*]require "dsn.php" ;

[*]

[*]$nome = $_POST['nome'];

[*]$sobrenome = $_POST['sobrenome'];

[*]$data = implode("-", array_reverse(explode("/",$_POST['data'])));

[*]$login = $_POST['login'];

[*]$senha = $_POST['senha'];

[*]$status = $_POST['status'];

[*]

[*]$sql = mysql_query("INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('".$nome."' , '".$sobrenome."', '".$data."' , '".$login."', sha1('".$senha."'), '".$status."')");

[*] if(!$sql)

[*] {

[*] echo " Erro ao tentar incluir registro: ".mysql_error();

[*] }

[*] else

[*] {

[*] echo "Usuário Cadastrado com Sucesso!";

[*] }

[*]?>

[*]

[*]

 

Mto obrigada!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aham... se a senha, o usuário e o banco estão corretos, não há problema.

Qual a mensagem exata do erro?

 

Mostre o conteúdo do seu arquivo dsn.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem de erro é:

"Erro ao tentar incluir registro: No database selected "

 

O DNS:

 

PHP

[*]

[*]<?php

[*]# FileName="Connection_php_mysql.htm"

[*]# Type="MYSQL"

[*]# HTTP="true"

[*]$host = "ip"

[*]$data = "banco";

[*]$user = "usuário";

[*]$pass = "senha";

[*]$dsn = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente...é verdade!!!

 

Fiz a conexão e a seleção..mas o erro continua!!!

 

PHP

[*]<?php

[*]

[*]$host = "";

[*]$data = "nscomputadores";

[*]$user = "";

[*]$pass = "";

[*]$dsn = mysql_connect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 

[*]

[*]mysql_select_db("nscomputadores");

[*]?>

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente a mesma mensagem de erro?

 

PHP
  • $host = "";
  • $data = "nscomputadores";
  • $user = "";
  • $pass = "";
  • $dsn = mysql_connect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 
  • mysql_select_db($data, $dsn);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja vem...

 

$sql = mysql_query("INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('".$nome."' , '".$sobrenome."', '".$data."' , '".$login."',". sha1($senha) .", '".$status."')");

 

if(!$sql) {

        echo "Erro ao tentar incluir registro:".mysql_error($dsn);

} else {

        echo "Usuário Cadastrado com Sucesso!";

}

Após a sua mensagem de "Erro ao tentar incluir registro" esta para este exibir qual foi a mensagem de erro retornada pelo banco de dados, tente colocar desta forma que eu indiquei acima.

 

Veja também seu comando SQL impresso na tela para ver se não há erros de sintaxe:

 

PHP
  • $comando = "INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('$nome' , '$sobrenome', '$data' , '$login', sha1('$senha'), '$status')";
  • echo $comando;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o proc_INSusuario.php assim:

 

PHP

[*]<?php

[*]require "dsn.php" ;

[*]

[*]$nome = $_POST['nome'];

[*]$sobrenome = $_POST['sobrenome'];

[*]$data = $_POST['data'];

[*]$login = $_POST['login'];

[*]$senha = $_POST['senha'];

[*]$status = $_POST['status'];

[*]

[*]$comando = "INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('$nome' , '$sobrenome', '$data' , '$login', sha1('$senha'), '$status')"

[*]echo $comando;

[*]

[*]$sql = mysql_query("INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('".$nome."' , '".$sobrenome."', '".$data."' , '".$login."', sha1('".$senha."'), '".$status."')");

[*] if($sql)

[*] {

[*] echo "Usuário Cadastrado com Sucesso!";

[*] }

[*] else

[*] {

[*] echo "Erro ao tentar incluir registro".mysql_error($dsn);

[*];

[*] }

[*]?>

[*]

 

E ao tentar incluir registro me imprimiu o erro:

 

"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 ' ativo)' at line 1 "

 

Tenho no MYSQL uma tabela com todos esses dados, e o status é varchar de 15! Não sei pq não insere!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talita...

 

Verifique o seguinte, oq ele escreve quando você usa isso?

 

PHP
  • $comando = "INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('$nome' , '$sobrenome', '$data' , '$login','". sha1($senha) ."', '$status')";
  • echo $comando;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada assim:

PHP

[*]echo "INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('$nome' , '$sobrenome', '$data' , '$login','". sha1($senha) ."', '$status')";

 

Ve se ele ta recebendo todos os dados corretamente

 

E tenta mudar a linha sql pra isso aqui

 

PHP

[*]$sql = mysql_query("INSERT INTO usuario(nome,sobrenome,data,login,senha,status) VALUES ('$nome' , '$sobrenome', '$data' , '$login', 'sha1($senha)', '$status')");

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.