Recebendo valor nulo em UPDATE no banco
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á.
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
Curtidas 0
Melhor post
Alex William
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.
Espero ter ajudado. :p
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
GOSTEI 2
Mais Respostas
Alex William
14/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.
Espero ter ajudado. :p
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".
GOSTEI 0
Fernando C
14/02/2018
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
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
GOSTEI 0
Diego Silva
14/02/2018
Olá Karolaine, você conseguiu resolver seu problema?
GOSTEI 1