Ir para conteúdo
Fórum Script Brasil
  • 0

Qual é O Erro?


kafunga

Pergunta

eu quero saber qual é o erro da conexão com o banco, ele fala q deu erro no comando sql!

ajue ai!

$sql  =  mysql_query("

          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A

    WHERE  A.USUARIO  =  '$usuario'

        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

vou posta os codigo todo para vocês verem tudo:

<?

//CONECTA COM O BANCO DE DADOS

require_once("conecta.php");

//RECEBE OS DADOS DO FORMULÁRIO

$usuario  =  $_POST[txtUser];

$senha    =  $_POST[txtSenha];

//VERIFICA

$sql  =  mysql_query("

          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A

    WHERE  A.USUARIO  =  '$usuario'

        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");

//LINHAS AFETADAS PELA CONSULTA

$row  =  mysql_num_rows($sql);

//VERIFICA SE RETORNOU ALGO

if($row == 0) echo "Usuário/Senha inválidos";

else {

    //PEGA OS DADOS

  $id  =  mysql_result($sql, 0, "ID_USUARIO");

  $nome =  mysql_result($sql, 0, "NOME_USUARIO");

 

    //INICIALIZA A SESSÃO

  session_start();

 

  //GRAVA AS VARIÁVEIS NA SESSÃO

  $_SESSION[id]    =  $id;

  $_SESSION[nome]  =  $nome;

 

  //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS

  Header("Location: resultado.php");

}//FECHA ELSE

?>

?eagora?

Link para o comentário
Compartilhar em outros sites

  • 0

Olha,

Na parte VERIFICA, eu costumo colocar assim:

//VERIFICA
$sql  =  mysql_query("
          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A
    WHERE  A.USUARIO  =  '".$usuario."'
        AND A.SENHA    =  '".$senha."'") or die("ERRO NO COMANDO SQL");

É porque eu estou concatenando strings com variáveis, então tenho que separá-las....

Testa e se não for isso poste novamente...

Até+

cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Olha,

Na parte VERIFICA, eu costumo colocar assim:

//VERIFICA
$sql  =  mysql_query("
          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A
    WHERE  A.USUARIO  =  '".$usuario."'
        AND A.SENHA    =  '".$senha."'") or die("ERRO NO COMANDO SQL");

É porque eu estou concatenando strings com variáveis, então tenho que separá-las....

Testa e se não for isso poste novamente...

Até+

cool.gif

Cara... você postou alguma coisa errada... o seu código está igual ao dele... rolleyes.gif

Quanto ao problema, kafunga, você sabe o que é um alias de uma tabela e quando usar?

Link para o comentário
Compartilhar em outros sites

  • 0

Claro... mas não custa perguntar se você já sabe... pouparia explicação... happy.gif

Aliás é assim... é um apelido pra tabela...

Ao invés de fazer um:

SELECT tabela.id,tabela.user FROM tabela;

Você faz um:

SELECT alias.id,alias.tabela FROM tabela as alias;

SELECT alias.id,alias.tabela FROM tabela alias; //os 2 jeitos dão na mesma

Agora, isso só é usado quando você faz um select entre 2 tabelas, com o seguinte motivo: as 2 tabelas podem ter um campo com o mesmo nome.

Exemplo:

SELECT t01.id,t02.id FROM tabelaUM as t01,tabelaDOIS as t02 WHERE t01.id = t02.id;

Entendeu?

Só que quando você faz uma busca em só uma tabela, não tem necessidade de usar o alias, ficaria mais fácil fazer assim:

SELECT id,user FROM tabela;

smile.gif

Agora, não acho que isso esteja causando o erro...era só uma parte redundante no script.

Faz o seguinte: coloca um echo "ERRO: '.mysql_error().'<br>'; depois da query ser executada, no seu script e diz pra gente o que apareceu... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Não, não está igual não...

Eu separei o que é string e o que é variável...

Agora, não seria o Alias que afetaria a query....

Kafunga, você pode testar da seguinte maneira e postar o código para darmos uma olhada:

//VERIFICA
$sql  =  mysql_query("
          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A
    WHERE  A.USUARIO  =  '$usuario'
        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL:[".mysql_error()."]");

Aí você reporta pra gente o que está escrito entre os colchetes...

Até+

cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Não, não está igual não...

Eu separei o que é string e o que é variável...

Agora, não seria o Alias que afetaria a query....

Kafunga, você pode testar da seguinte maneira e postar o código para darmos uma olhada:

//VERIFICA
$sql  =  mysql_query("
          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A
    WHERE  A.USUARIO  =  '$usuario'
        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL:[".mysql_error()."]");

Aí você reporta pra gente o que está escrito entre os colchetes...

Até+

cool.gif

Tem razão... não tinha percebido...

Mas o jeito mais garantido mesmo é:

//VERIFICA

$sql  =  mysql_query("

          SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A

    WHERE  A.USUARIO  =  '".$usuario."'

        AND A.SENHA    =  '".$senha."'") or die("ERRO NO COMANDO SQL:[".mysql_error()."]");

O Woody também tem razão quanto ao die, por isso teste dessa forma e diga pra gente o erro... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

o error foi o seguinte:

ERRO NO COMANDO SQL:[Table 'teste.tb_usuarios' doesn't exist]

mais eu quero saber como que ele consegui criar essa table: 'teste.tb_usuarios' para pedila,porque o o q o banco de dados esta assim:

# Host: localhost  Database: exercicio

#--------------------------------------------------------

# Table structure for table 'tb_produtos'

#

drop database exercicio;

creat databese exercicio;

use exercicio;

CREATE TABLE `tb_produtos` (

  `ID_USUARIO` int(3) NOT NULL default '0',

  `ID_PRODUTO` int(3) NOT NULL auto_increment,

  `PRODUTO` varchar(30) NOT NULL default '',

  `QTDE_PRODUTO` int(3) default NULL,

  PRIMARY KEY  (`ID_PRODUTO`)

) TYPE=MyISAM;

#

# Dumping data for table 'tb_produtos'

#

INSERT INTO tb_produtos VALUES("2", "1", "Cadeira", "10");

INSERT INTO tb_produtos VALUES("2", "2", "Mesa", "20");

INSERT INTO tb_produtos VALUES("2", "3", "Tapete", "5");

INSERT INTO tb_produtos VALUES("3", "4", "Mouse Pads", "15");

#

# Table structure for table 'tb_usuarios'

#

CREATE TABLE `tb_usuarios` (

  `ID_USUARIO` int(3) NOT NULL auto_increment,

  `NOME_USUARIO` varchar(50) NOT NULL default '',

  `USUARIO` varchar(30) NOT NULL default '',

  `SENHA` varchar(15) NOT NULL default '',

  PRIMARY KEY  (`ID_USUARIO`)

) TYPE=MyISAM;

#

# Dumping data for table 'tb_usuarios'

#

INSERT INTO tb_usuarios VALUES("2", "Fulano de Tal", "fulano", "123456");

INSERT INTO tb_usuarios VALUES("3", "Ciclano de Tal", "ciclano", "abcd");

lembre -se que isso eu importei para o banco!

aqui vai o q está escrito no conectar.php:

<?

//DADOS PARA CONEXÃO

$servidor  =  "localhost";  //SERVIDOR

$bd        =  "teste";      //DATABASE

$usuario    =  "root";        //USUÁRIO

$senha      =  "";            //SENHA

//CONECTANDO

@mysql_connect($servidor, $usuario, $senha)

            or die("ERRO NA CONEXÃO");

//SELECIONA O DATABASE A SER UTILIZADO

@mysql_select_db($bd)

            or die("ERRO NA SELEÇÃO DO DATABASE");

?>

aqui vai o q está escrito no autentica.php:

<?

//CONECTA COM O BANCO DE DADOS

require_once("conecta.php");

//RECEBE OS DADOS DO FORMULÁRIO

$usuario  =  $_POST[txtUser];

$senha    =  $_POST[txtSenha];

//VERIFICA

$sql  =  mysql_query("

        SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios

  WHERE  USUARIO  =  '$usuario'

      AND SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL:[".mysql_error().]");

//LINHAS AFETADAS PELA CONSULTA

$row  =  mysql_num_rows($sql);

//VERIFICA SE RETORNOU ALGO

if($row == 0) echo "Usuário/Senha inválidos";

else {

    //PEGA OS DADOS

  $id  =  mysql_result($sql, 0, "ID_USUARIO");

  $nome =  mysql_result($sql, 0, "NOME_USUARIO");

    //INICIALIZA A SESSÃO

  session_start();

  //GRAVA AS VARIÁVEIS NA SESSÃO

  $_SESSION[id]    =  $id;

  $_SESSION[nome]  =  $nome;

  //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS

  Header("Location: resultado.php");

}//FECHA ELSE

?>

Link para o comentário
Compartilhar em outros sites

  • 0

tipo,

agora eu quero criar um cadastro...

para adicionar os login, eu começo assim:

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

      login:<input type="text" name="name"><br>

      senha:<input type="text" name="senha"><br>

      nome:<input type="text" name="nome"><br>

      <input type="submit" name"btnEnviar" value="Enviar">

</form>

é mais ou menos assim? e como eu vou fazer para que eo banco aceite os dados?

me da uma aluda ae por favor. estou precisando agora, mais qo eu aprender eu vou ajudar tb.!lembre-se!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom,

Lembre-se de que você está submetendo um formulário com alguns valores.

Como você possui 2 métodos de submissão, você tem dois tipos de internpretação desses métodos.

São eles:

o Array $_POST, que serve para os formulários submetidos ao método POST

Ex:

$nome = $_POST['nome do campo no form']; //olha a aspas simples
o Array $_GET, que serve para os formulários submetidos ao método GET
$nome = $_GET['nome do campo no form'];//novamente aspas simples
No caso do seu form, o método é POST, então você utiliza $_POST... Ficaria +_ assim:
$login = $_POST['name']; //recebe o valor do login

E assim sucessivamente....

Primeiro identifique os valores dos campos no form. Depois escolha um SGBD que você queira trabalhar que o resto fica facin...

Até+

cool.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...