Recebendo valor nulo em UPDATE no banco

14/02/2018

0

Boa noite! Estou tentando alterar dados de uma tabela e salvar no banco, consigo alterar, mas não salva. Estou com um código apresentando o seguinte erro: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/salvar_edicao.php on line 28

Se possível, gostaria muito de ajuda. Agradeço desde já.

<?php
session_start();
$errors = array(); 

// connect to database
$host= "localhost";
$user= "********";
$pass= "*****";
$banco= "***";
$connect= mysqli_connect($host,$user,$pass);
//Criar a conexão mysqli_query($connect,$query)
$db= mysqli_select_db($connect,$banco);

$sql = mysqli_query($connect,"SELECT  nome_jogador, posicao_controle, time_controle, numero_gols, categoria_jogador FROM Controle") or die(mysqli_error ($connect));//Alterar o nome da tabela



if ($connect){
	echo "<p>sim</p>";
	
	}
 else{
	echo "<p>não</p>";
	$con= mysqli_query($connect, $query);
	} 
	
?>
<!DOCTYPE html>

<html >
  <head>
     <meta charset= utf-8 >
   </head>
         <body>
         <h1>Teste de Exibição</h1>
         <table border="1">
            <tr>    
              <th>Nome</th>
                <th>Posição</th>
                <th>Equipe</th>
				<th>N°de Gols Sofridos</th>
                <th>Categoria</th>
                <th>Ação</th>
             </tr>
             
          
      <?php while($dado = mysqli_fetch_assoc($sql)) { ?>
             <tr> 
              
             
              <td><?php echo $dado["nome_jogador"];?></td>
              <td><?php echo $dado["posicao_controle"];?></td>
              <td><?php echo $dado["time_controle"];?></td>
              <td><?php echo $dado["numero_gols"];?></td>
              <td><?php echo $dado["categoria_jogador"];?></td>
              <td><a href="'editar.php?codigo=".$codigo.">Editar</a></td>  
 
               
             </tr>
		       <?php } ?> 
           </table>
          
         </body>
</html>	

----------------------------------------------------------------------
<?php
session_start();
$errors = array(); 

// connect to database
$host= "localhost";
$user= "*****";
$pass= "****";
$banco= "****";
$connect= mysqli_connect($host,$user,$pass);
//Criar a conexão mysqli_query($connect,$query)
$db= mysqli_select_db($connect,$banco);

$sql = mysqli_query($connect,"SELECT  nome_jogador, posicao_controle, time_controle, numero_gols, categoria_jogador FROM Controle") or die(mysqli_error ($connect));


if ($connect){
	echo "<p>sim</p>";
	
	}
 else{
	echo "<p>não</p>";
	$con= mysqli_query($connect, $query);
	} 


while ($dado = mysqli_fetch_assoc($sql)) {
    $nome=  $dado["nome_jogador"];
	$posicao= $dado["posicao_controle"];
	$equipe = $dado["time_controle"];
    $ngols =  $dado["numero_gols"];
	$categoria = $dado["categoria_jogador"];
?>
    
<form id="form1" name="form1" method="post" action="salvar_edicao.php">
<input type="text" name="nome" id="nome" value="<?php echo $nome;?>" /><br/>
<input type="text" name="posicao" id="posicao" value="<?php echo $posicao?>" /><br/>
<input type="text" name="equipe" id="equipe" value="<?php echo $equipe;?>" /><br/>
<input type="text" name="ngols" id="ngols" value="<?php echo $ngols;?>" /><br/>
<input type="text" name="categoria" id="categoria" value="<?php echo $categoria;?>" /><br/>

<input type="submit" onClick="return confirm('Deseja atualizar o registro?');" name="Submit" value="SALVAR ALTERAÇÕES" id="button-form" />
 </form>

</div></div>
<?php } ?>
_____________________________________
<?php
    $nome=  $_POST["nome_jogador"];
	$posicao=  $_POST["posicao_controle"];
	$equipe =  $_POST["time_controle"];
    $ngols =  $_POST["numero_gols"];
	$categoria =  $_POST["categoria_jogador"];
session_start();
$errors = array(); 

// connect to database
$host= "localhost";
$user= "******";
$pass= "******";
$banco= "*****";
$connect=  mysqli_connect($host,$user,$pass);
//Criar a conexão mysqli_query($connect,$query)
$db= mysqli_select_db($connect,$banco);
 
if ($connect){
	echo "<p>sim</p>";
	
	}
 else{
	echo "<p>não</p>";
	$con= mysqli_query($connect, $query);
	}  
//LINHA DO ERRO	
$link= mysqli_query($connet, "UPDATE Controle SET nome_jogador = '{$nome}', posicao_controle = '{$posicao}', time_controle = '{$equipe}', numero_gols = '{$ngols}', categoria_jogador = '{$categoria}' WHERE Controle.nome_jogador == '$nome'");
// mysql_close($link);
?>
Karolaine Coelho

Karolaine Coelho

Responder

Post mais votado

15/02/2018

Bom dia amiguinho.

Seus parâmetros estão invertidos.

Primeiro passe a string de query e depois a conexão. Tente dessa forma.

$link= mysqli_query( "UPDATE Controle SET nome_jogador = '{$nome}', posicao_controle = '{$posicao}', time_controle = '{$equipe}', numero_gols = '{$ngols}', categoria_jogador = '{$categoria}' WHERE Controle.nome_jogador == '$nome'",$connet);


Espero ter ajudado. :p

Alex William

Alex William
Responder

Mais Posts

15/02/2018

Alex William

Bom dia amiguinho.

Seus parâmetros estão invertidos.

Primeiro passe a string de query e depois a conexão. Tente dessa forma.

$link= mysqli_query( "UPDATE Controle SET nome_jogador = '{$nome}', posicao_controle = '{$posicao}', time_controle = '{$equipe}', numero_gols = '{$ngols}', categoria_jogador = '{$categoria}' WHERE Controle.nome_jogador == '$nome'",$connet);


Espero ter ajudado. :p


Outra coisa que eu notei, em determinado momento você passa um operador "==". Em SQL, se eu não me engano, não existe este operador. Use somente "=" na cláusula "WHERE".
Responder

15/02/2018

Fernando C

alem do sinal de igual estar errado,
1. a variavel de conexão é "connect"
(não "connet");
2. vc deve usar uma chave primaria na tabela do banco de dados
e usa-la como indice
veja varios exemplos aqui:
https://www.google.com.br/search?q=edicao+de+registros+mysqli+php&ie=utf-8&oe=utf-8&client=firefox-b&gws_rd=cr&dcr=0&ei=Js6FWuCVH4bAwASxnYyYCg
Responder

26/04/2018

Diego Silva

Olá Karolaine, você conseguiu resolver seu problema?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar