Ir para conteúdo

POWERED BY:

Arquivado

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

Ederjsantos

[Resolvido] consulta sql

Recommended Posts

blza galera,

é o seguite estou tentando fazer uma consulta simples em PHP

quero que o usuario digita e matricula e me retorne qual a senha

relacionada a matricula que a pessoa digitou, como faço isso

 

<?php


$MATRICULA = $_POST['MATRICULA'];


$sql = "SELECT * FROM TB_ALUNO_2008 WHERE SENHA LIKE '%$MATRICULA%'";

echo '<td>'.$SENHA.'</td>';


?>

essa logica esta errada como faço isso pra me retorna a senha da matricula correspondente valeuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só é adaptar a sua necessidade

 

<?php

if(!empty($HTTP_POST_VARS["palavra"])) {

        $palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]);

        /* Altera os espaços adicionando no lugar o simbolo % */
       
        $qr = "SELECT * FROM noticias WHERE noticia LIKE '%".$palavra."%' ORDER BY codigo DESC";
       
        // Executa a query no Banco de Dados
        $sql = mysql_query($qr);
       
        // Conta o total ded resultados encontrados
        $total = mysql_num_rows($sql);

        echo "Sua busca retornou '$total' resultados.";

        // Gera o Loop com os resultados
        while($r = mysql_fetch_array($sql)) {
                echo "<hr>";
                echo $r["senha"];
        }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz isso aqui

<?php

 if(!empty($HTTP_POST_VARS["MATRICULA"])) {

        $palavra = str_replace(" ", "%", $HTTP_POST_VARS[MATRICULA]);

        /* Altera os espaços adicionando no lugar o simbolo % */

        $qr = "SELECT * FROM TB_ALUNO_2008 WHERE MATRICULA LIKE '%".$MATRICULA."%' ORDER BY codigo DESC";
       
        // Executa a query no Banco de Dados
        $sql = mysql_query($qr);
       
        // Conta o total ded resultados encontrados
        $total = mysql_num_rows($sql);

        echo "Sua busca retornou '$total' resultados.";

        // Gera o Loop com os resultados
        while($r = mysql_fetch_array($sql)) {
                echo "<hr>";
                echo $r["SENHA"];
        }
}

 

 

?>

e deu esse erro

 

 

 

Warning: mysql_query() [function.mysql-query]: Access denied for user 'dominio'@'localhost' (using password: NO) in /home/sistemabatista/webapps/s_sbme/recupera_senha.php on line 114

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/recupera_senha.php on line 114

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/recupera_senha.php on line 117

Sua busca retornou '' resultados.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/recupera_senha.php on line 122

Compartilhar este post


Link para o post
Compartilhar em outros sites

a conexao ta la em cima desse tipo que fiz:

<?php
      
      
       class MySQL {
           // edite aqui
           var $host = "host";
           var $user = "user";
           var $pass = "senha";
           var $db   = "banco";
      
         // nao edite as vars abaixo
          var $query;
          var $link;
         var $result;

?>

eu tenho q chamar essa classe na minha conexao ??

 

pq isso eh tudo na mesma pagina

 

esse é o codigo todo:

 

 

<?php


class MySQL {
    // edite aqui
    var $host = "hot";
    var $user = "user";
    var $pass = "senha";
    var $db   = "banco";

    // nao edite as vars abaixo
    var $query;
    var $link;
    var $result;
    
    /**
    * @return MySQL
    * @desc Construtor da classe MySQL.
    */
    function MySQL(){
    }
    /**
    * @return void
    * @desc Método que Conecta ao Servidor e seleciona Banco de Dados.
    */
    function connect(){
        $this->link = mysql_connect($this->host,$this->user,$this->pass);
        if(!$this->link){
            echo "Erro na Conexão.<br>"
                ."<b>MySQL retornou: </b> ".mysql_error()."<br>";
            die();
        } elseif (!mysql_select_db($this->db,$this->link)){
            echo "Erro na seleção do Banco de Dados.<br>"
                ."<b>MySQL retornou: </b> ".mysql_error()."<br>";
            die();
        }
    }
    /**
    * @return Resultado
    * @param String $query
    * @desc Recebe query SQL, executa e retorna resultado, se houver erro retorna 0.
    */
    function sql($query){
        $this->connect();
        $this->query = $query;
        if($this->result=mysql_query($this->query)){
            $this->disconnect();
            return $this->result;
        } else {
            die("Ocorreu um erro ao executar a Query SQL abaixo:<br>$query<<br><br><b>MySQL Retornou: ".mysql_error()."<b>");
            $this->disconnect();
        }
        
    }
    /**
    * @return mysql_close
    * @desc Desconecta do servidor
    */
    function disconnect(){
        return mysql_close($this->link);
    }
}
?>
<?php
require_once "manage/inc/global.php";
require_once "manage/inc/conn_PG_manage_open.php";
$sitId = 1;
$menus_aux = array(
				'/inc/sis_acad.php',
				'/banners/inc_right.php',
				'/galerias/inc_right.php',
				'/newsletter/inc_right.php'
);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="content-language" content="pt-BR" />
<meta http-equiv="Description" name="Description" content="O Sistema Batista Mineiro de Educação (SBME) é formado por cinco unidades do Colégio Batista Mineiro, pela Faculdade Batista de Minas Gerais (FBMG), pelo Instituto Batista de Idiomas (IBI), e as unidades sociais: EJA - Educação de Jovens e Adultos e o Núcleo Batista Mineiro de Socialização Juvenil." />
<meta name="keywords" content="sistema batista mineiro, educação, ensino bh, ensino mg, colégio bh, colégio mg, educação infantil, ensino fundamental, ensino médio, cursos técnicos, cursos superiores, idiomas" />	
<meta name="ROBOTS" content="ALL" />
<title>Sistema Batista Mineiro de Educação</title>
<script language="JavaScript" src="inc/scripts.js"></script>
<link rel="Shortcut Icon" href="img/favicon.ico" type="image/x-icon" />
<link href="css/estilos.css" rel="stylesheet" type="text/css" />
<link href="css/estilos_home.css" rel="stylesheet" type="text/css" />
</head>
<body>
<? include "inc/header.php" ?>
<div id="content">
     <div id="corpo">
        <h1 style="font-size: 20px; color: #B5160D; padding: 0px; margin: 0 0 10px 0;">Recupera Senha</h1>
        <p>
<table width="100%" border="0">
 <tr >
  <td width="100%" bgcolor="<?=$cor?>" align="center"><?=$resposta?></td>
 </tr>
</table>

<?php
 
 if(!empty($HTTP_POST_VARS["MATRICULA"])) {

        $palavra = str_replace(" ", "%", $HTTP_POST_VARS[MATRICULA]);

        /* Altera os espaços adicionando no lugar o simbolo % */
       
        $qr = "SELECT * FROM TB_ALUNO_2008 WHERE MATRICULA LIKE '%".$MATRICULA."%' ORDER BY codigo DESC";
       
        // Executa a query no Banco de Dados
        $sql = mysql_query($qr);
       
        // Conta o total ded resultados encontrados
        $total = mysql_num_rows($sql);

        echo "Sua busca retornou '$total' resultados.";

        // Gera o Loop com os resultados
        while($r = mysql_fetch_array($sql)) {
                echo "<hr>";
                echo $r["SENHA"];
        }
}


  
?>



<form action="recupera_senha.php" method="post">
<fieldset>
<td class="esq">Matrícula:</td>
<td class="dir"><input name="MATRICULA" id="MATRICULA" class="input" size="10" type="text"></td></p>
</fieldset>



 <tr >
  <td colspan="2"><input type="submit" name="processa" value="Buscar Senha"></td>
 </tr>
</table>
</form>        </p> 
      </div>

 
    </div>
<? include "inc/right.php" ?>
<? include "inc/footer.php" ?>
</body>
</html>
<?
require_once "manage/inc/conn_PG_manage_close.php";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Totalmente OBSOLETO.

 

Veja:

 

<?php


$MATRICULA = isset($_POST['MATRICULA']) ? $_POST['MATRICULA'] : false;

if($MATRICULA != false){
     $sql = mysql_query("SELECT * FROM TB_ALUNO_2008 WHERE SENHA ='$MATRICULA'");
     if(mysql_num_rows($sql)>0){
         $senha=mysql_fetch_array($sql);
         echo '<td>'.$senha['senha'].'</td>';
     }
     
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que quero é o seguinte

fazer a consulta e o resultado ser mostrado na frente do input

so que ta dando erro :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

ai nao sei o que pode ser

 

<?php

$MATRICULA = isset($_POST['MATRICULA']) ? $_POST['MATRICULA'] : false;

if($MATRICULA != false){
    $sql = "SELECT * FROM TB_ALUNO_2008 WHERE SENHA ='$MATRICULA'";
    if(mysql_num_rows($sql)>0){
        $senha=mysql_fetch_array($sql);
        echo '<td>'.$senha['senha'].'</td>';
    }

}



?>

<form action="recupera_senha.php" method="post">
<fieldset>
<td class="esq">Matrícula:</td>
<td class="dir"><input name="MATRICULA" id="MATRICULA" class="input" size="10" type="text"></td></p>
</fieldset>

Compartilhar este post


Link para o post
Compartilhar em outros sites

nestas linhas você esqueceu de executar a query,

 

$sql = "SELECT senha FROM TB_ALUNO_2008 WHERE SENHA = '$MATRICULA'";
$exe = mysql_query($exe);
if(mysql_num_rows($exe)>0){
$senha=mysql_fetch_array($exe);
echo '<td>'.$senha['senha'].'</td>';

mas veja que na sua condição ta IGUAL, você tem que digitar no campo da matricula exatemente o que está no banco, letra maiuscula, acento e tals, se nao sempre vai dar 0 e nunca vai mostrar o que você quer. agora se você por o LIKE fica estranho, pq se tiver mais de uma matricula parecida com o que você digitar, sempre vai mostrar a ultima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora está retornando todas as senhas, eu quero que retorne apenas a senha

da matricula que eu digitei.

Fiz assim

<?php
       
       if(!empty($HTTP_POST_VARS["MATRICULA"])) {
      
              $palavra = str_replace(" ", "%", $HTTP_POST_VARS[MATRICULA]);
      
              /* Altera os espaços adicionando no lugar o simbolo % */
              
              $qr = "SELECT * FROM TB_ALUNO_2008 WHERE MATRICULA LIKE '%".$MATRICULA."%'";
              $resultado=@mysql_query($qr) or die(mysql_error());
              $ncampos=mysql_num_fields($resultado);
              // Executa a query no Banco de Dados
              $sql = mysql_query($qr);
              
              // Conta o total ded resultados encontrados
              $total = mysql_num_rows($sql);
              
              // Gera o Loop com os resultados
              while($r = mysql_fetch_array($sql)) {
                      echo "<hr>";
                      echo $r["SENHA"];
              }       
      }       
      
      
      
      ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só retirar o WHILE, o básico da programação hein

 

$r = mysql_fetch_array($sql);
echo "<hr>";
echo $r["SENHA"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo em partes, pq ele so esta pegando o primeiro dado do bando de dados e nao esta fazendo o like:

meu codigo é esse:

<?
//include "bdaccess.php"; $mySQL = new MySQL;
//conexão com o servidor
$conect = mysql_connect("banco", "user", "senha");

// Caso a conexão seja reprovada, exibe na tela uma mensagem de erro
if (!$conect) die ("<h1>Falha na coneco com o Banco de Dados!</h1>");

// Caso a conexão seja aprovada, então conecta o Banco de Dados.	
$db = mysql_select_db("sistemabatista_a");

/*Configurando este arquivo, depois é só você dar um include em suas paginas php, isto facilita muito, pois caso haja necessidade de mudar seu Banco de Dados
você altera somente um arquivo*/


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Recupera Senha</title>
<link href="../estilo.css" rel="stylesheet" type="text/css" />
</head>
<?php
 
 if(!empty($HTTP_POST_VARS["MATRICULA"])) {

        $palavra = str_replace(" ", "%", $HTTP_POST_VARS[MATRICULA]);

        /* Altera os espaços adicionando no lugar o simbolo % */
       
        $qr = "SELECT * FROM TB_ALUNO_2008 WHERE MATRICULA LIKE '%".$MATRICULA."%'";
        $resultado=@mysql_query($qr) or die(mysql_error());
        $ncampos=mysql_num_fields($resultado);
        // Executa a query no Banco de Dados
        $sql = mysql_query($qr);
       
        // Conta o total ded resultados encontrados
        $total = mysql_num_rows($sql);

        // Gera o Loop com os resultados
        $r = mysql_fetch_array($sql);
                echo "<hr>";
                echo $r["SENHA"];
        
}


  
?>



<form action="" method="post">
<fieldset>
<td class="esq">Matrícula:</td>
<td class="dir"><input name="MATRICULA" id="MATRICULA" class="input" size="10" type="text"></td></p>
</fieldset>



 <tr >
  <td colspan="2"><input type="submit" name="processa" value="Buscar Senha"></td>
 </tr>
</table>
</form>        </p>

 

 

 

Quero que ele traga somente a senha da matricula que eu digitei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho

 

usa BBCODE, eh dificil de localizar as linhas no código desse jeito.

E outra.

 

o Like ele traz o que eh parecido.

Se você quiser trazer exatamente a senha da matricula que você digitar, você precisa utilizar o = no lugar do LIKE

mas você precisa digitar examente o que está no banco, se nao nunca vai trazer nada.

 

leia os posts.

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.