Ir para conteúdo
fernandacrv

problema com mysqli_query

Recommended Posts

Boa noite pessoal, sou nova neste mundo, tinha feito um sistema para recuperar a senha de um cadastro e estava funcionando

 

agora o mesmo me da erro nesta linha

 

            if(md5($row['senha'].$row['id']) == $_POST['chave']){
                $novaSenha = md5($_POST['senha1']);
                $id = $row['id'];
                 $troca = mysqli_query($conexao,"UPDATE usuarios SET senha = '$novaSenha' WHERE id = '$id'");
 

 

 

 

                 $troca = mysqli_query($conexao,"UPDATE usuarios SET senha = '$novaSenha' WHERE id = '$id'");
 

 

 

o erro que dá é este 

PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, null given in

 

o mais estranho e que estava funcionando normal, o que poderia ocasionar um erro destes?

 

Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 16/10/2018 at 20:07, fernandacrv disse:

$troca = mysqli_query($conexao,"UPDATE usuarios SET senha = '$novaSenha' WHERE id = '$id'");

Provavelmente alguma variável está setada como NULL.

 

Você pode verificar as variáveis utilizando a função var_dump() :

echo var_dump($variavel);

Ela retorna informações sobre a variável =D

 

Tente isso, e veja se nenhuma variável retorna como null. Caso não retorne, poste o resultado :smiley:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo que a variável seja NULL, o update deve funcionar, apenas setará como NULL.

 

A linha é essa?

$troca = mysqli_query($conexao,"UPDATE usuarios SET senha = '$novaSenha' WHERE id = '$id'");

Tá com cara de ser erro de conexão com o banco...verifica se sua conexão está correta. Dá um var_dump($troca); e veja se retorna TRUE, se retornar FALSE a conexão ou a consulta está errada.

 

O erro citado geralmente é de falta de argumento ou erro de sintaxe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por AGS85
      Olá pessoal,
       
      sou novo no fórum e iniciante em PHP e MySQL. Gostaria, portanto, de contar com o apoio de vocês.
       
      Ao que tudo indica, consegui realizar conexão com o banco de dados mas, quando clico no botão criado no formulário, os dados não são inseridos na tabela do BD.
       
      A ideia inicial é inserir estes dados e retornar a mesma página, onde todas as informações adicionadas ao BD serão exibidas.
       
      Segue abaixo o código para análise.
       
      Grande Abraço!
       
      =====================================================
       
      <?php header("Content-Type: text/html; charset=utf-8",true); ?> <html> <head> <link rel="stylesheet" type="text/css" href="estilo.css"/> <head/> <body> <div id="site"> <div id="header"> <div id="turan"> <img src="turan.jpg" alt="TURAN" height="50" width="120"> </div> </div> <div id="conteudo"> <div id="content-campo1"> <form action="painel.php" method="get"> <br/> Data <br/> <input type="text" name="dia" size="3" maxlength="2"> / <input type="text" name="mes" size="3" maxlength="2"> / <input type="text" name="ano" size="3" maxlength="4"> <br/><br/> Período <br/> <input type="text" name="hr1" size="1" maxlength="2"> : <input type="text" name="min1" size="1" maxlength="2"> às <input type="text" name="hr2" size="1" maxlength="2"> : <input type="text" name="min2" size="1" maxlength="2"> <br/><br/> Localização<br/> <textarea name="local" rows="2" cols="30"></textarea><br/><br/> Atividades Desenvolvidas<br/> <textarea name="ativi" rows="2" cols="30"></textarea><br/><br/> Problemas Encontrados<br/> <textarea name="probl" rows="2" cols="30"></textarea><br/><br/> Soluções Adotadas<br/> <textarea name="sadot" rows="2" cols="30"></textarea><br/><br/> Serviços Pendentes <textarea name="spend" rows="2" cols="30"></textarea><br/><br/> Responsável pela Solução<br/> <textarea name="rpsol" rows="2" cols="30"></textarea><br/><br/> Observações<br/> <textarea name="obser" rows="2" cols="30"></textarea><br/><br/> <input type="submit" value="Cadastrar"/> <input type="reset" value="Resetar"/> <form/> </div> <div id="content-campo2"> <br/> </div> <div id="content-campo3"> <br/> </div> </div> <div id="footer"> </div> </div> <?php $con = mysqli_connect("mysql.hostinger.com.br", "xxxxxxx", "xxxxxxx","u279832704_db") or print(mysqli_error()); $sql = "INSERT INTO 'u279832704_db'.'painel' ('dia', 'mes', 'ano', 'hr1', 'min1', 'hr2', 'min2', 'local', 'ativi', 'probl', 'sadot', 'spend', 'rpsol', 'obser', 'id') VALUES ('".$_GET['dia']."', '".$_GET['mes']."', '".$_GET['ano']."', '".$_GET['hr1']."', '".$_GET['min1']."', '".$_GET['hr2']."', '$min2', '$local', '$ativi', '$probl', '$adot', '$spend', '$rpsol', '$obser', NULL)"; $query = mysqli_query($con,$sql); ?> <body/> <html/>
    • Por Caio Oliveira_117731
      Olá galera,
      fiz uma daquelas aulas online de php e o professor ensinou a fazer um SELECT(HTML) dinâmico.
      Porém eu gostaria de fazer um CHECKBOX(HTML) dinâmico.
      /* Arquivo: user-research-db.php */ require_once("connect.php"); function listaPesquisas($conexao) { $pesquisas = array(); $query = "select * from pesquisa"; $resultado = mysqli_query($conexao, $query); while($pesquisa = mysqli_fetch_assoc($resultado)) { array_push($pesquisas, $pesquisa); } return $pesquisas; } require_once("connect.php"); require_once("user-research-db.php"); $pesquisas = listaPesquisas($conexao); <select name="pesquisa_id" class="form-control"> <?php foreach($pesquisas as $pesquisa) : $essaEhAPesquisa = $usuario['pesquisa_id'] == $pesquisa['id']; $selecao = $essaEhAPesquisa ? "selected='selected'" : ""; ?> <option value="<?=$pesquisa['id']?>" <?=$selecao?>> <?=$pesquisa['nome']?> </option> <?php endforeach ?> </select> Está tudo funcionando perfeitamente, eu só gostaria de trocar o SELECT para CHECKBOX.
      Agradeço a atenção galera!
      abraço
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.