Nos 3 códigos abaixo fica me dando erro "Uncaught Error: Call to undefined function mysql_query()"

Nos 3 códigos abaixo não consigo definir as funções:

  • mysqli_query()
  • mysqli_num_rows()

ALTERAR.PHP

<html>
<head> <title>Alteração de Produtos</title></head>
<body>
<h2 align="center">Alteração de Produtos</h2><hr>
 <?php
 require_once("conecta.php");
 if (!isset($_POST["cod"])&& !isset($_POST["enviar"]))
 {
 ?>
 <form method="POST" action="
    <?php echo $_SERVER["PHP_SELF"]; 
    ?>"
 <p>Código do Produto:<input type="text" name="cod" />
 <input type="submit" value="ALTERAR PRODUTO" name="alterar"></p>
 </form>

 <?php
 }
    else if(!isset($_POST["enviar"])) //busca dados do produto
 {
        $codigo=$_POST["cod"];
        $sql = "SELECT * FROM produtos WHERE codigo_produto='".$codigo."'";
        $res1 = mysqli_query($sql);//obtem a resposta da query executada acima
        $l = mysqli_num_rows($res1);

    if ($l == 0) //verifica quantas linhas teve a query executada, se for zero o produto nao foi encontrado
 {  
     echo "Produto não encontrado $codigo";
    }
    else
 { 
     echo "Produto encontrado";

    $registro = mysqli_fetch_row($res1);//seta a linha de registro do produto e depois coloca cada campo em uma variavel
    $equipamento=$registro[1];
    $descricao=$registro[2];
    $adicionais=$registro[3];
 ?>
 <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
 <p>Código:<input type="text" name="cod" size="40" value="<?php echo $codigo; ?>" </b><br><br>
 
 Equipamento:<input type="text" name="nome" value="<?php echo $equipamento;?>"><br>
 
 Descricao:<br><textarea rows="2" name="descricao"cols="30"><?php echo $descricao;?> </textarea><br>

    <input type ="hidden" name="codigo" value="
    
<?php  
    echo $codigo;
?>

 <input type ="hidden" name="enviar" value="S">
 <input type ="submit" value="Alterar produto" name="Alterar"></p>
 </form>

 <?php
     mysqli_close($conexao);
 }
 }

    else // alterar produto
 {
    $codigo=$_POST["cod"];
    $equipamento=$_POST["equipamento"];
    $descricao=$_POST["descricao"];
    $sql="UPDATE produtos SET equipamento='$equipamento',descricao='$descricao' WHERE codigo_produto=$codigo";
    $res2=mysql_query($sql);
 //mysql_affected_rows() RETORNA A QUANTIDA DE LINHAS ALTERADAS COM O COMANDO SQL ANTERIOR
    if (mysql_affected_rows()>0)
 {
    echo"<p align='center'>Produto alterado com sucesso!</p>";
 }
 else
 {
     $erro=mysqli_error();
     echo "<p align='center'>Erro:$erro</p>";
 }
     mysqli_close($conexao);
 }
 ?>
 <p align="center"><<p align="center"><a href="menu.php">Voltar</a></p>
 </body>
 </html> 

LISTAR.PHP

<html>
<head> <title>Lista de Produtos</title></head>
<body>
<h2 align="center">Lista de Produtos</h2><hr> 

<?php
//CONEXÃO COM BANCO
 require_once "conecta.php";
//COMANDO SQL PARA SELECIONAR TODOS OS REGISTROS
 $sql=("SELECT * FROM produtos");
//EXECUÇÃO DO COMANDO
 $res=mysql_query($sql);
 //SETANDO UM REGISTRO POR VEZ
 while($registro=mysql_fetch_row($res))
 {
 $codigo=$registro[0];
 $equipamento=$registro[1];
 $descricao=$registro[2];
 $adicionais=$registro[3];
    echo "Código: $codigo<br>";
    echo "Equipamento: $equipamento<br>";
    echo "Descrição: $descricao<br>";
    echo "Adicionais: $adicionais<br><p>";
 }

//FECHANDO A CONEXÃO
 mysql_close($conexao);
 ?>

 <p align="center"><a href="menu.php">Voltar</a></p>
 </body>
 </html> 

EXCLUIR.PHP

<html>
<head> <title>Exclusão de Produtos</title></head>
<body>
<h2 align="center">Exclusão de Produtos</h2><hr>
 <?php
 require_once ("conecta.php");
 if (!isset($_POST["codigo"])&& !isset($_POST["enviar"]))
 {
 ?>
 <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
 <p>Código do Produto:<input type="text" name="codigo">
 <input type="submit" value="EXCLUIR PRODUTO" name="excluir"></p>
 </form>

 <?php
 }
 elseif(!isset($_POST["enviar"])) //busca dados do produto
 {
 $codigo=$_POST["codigo"];
 $sql1="SELECT * FROM produtos WHERE codigo_produto='$codigo'";
 $res=mysql_query($sql1);
 if (mysql_num_rows($res)==0)
 echo "Produto não encontrado";
 else
 { echo "Produto encontrado";
 $registro=mysql_fetch_row($res);//seta a linha de registro do produto e depois coloca cada campo em uma variavel
 $codigo=$registro[0];
 $equipamento=$registro[1];
 $descricao=$registro[2];
 $adicionais=$registro[3];
 ?>
 <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
 <p>Código:<input type="text" name="codigo" value="
    <?php 
        echo $codigo; 
    ?> "></b><br><br>

    Equipamento:<input type="text" name="equipamento" value="
 <?php 
    echo $equipamento;?>"><br>
        Descricao:<br><textarea rows="2" name="descricao"  cols="30"><?php echo $descricao;
 ?> </textarea><br>
 
    Adicionais:<input type="text" name="preco" value="
 <?php 
    echo $adicionais;?>"><br>  <input type ="hidden" name="codigo" value="
 <?php 
    echo $codigo;
?>"> 

 <input type ="hidden" name="enviar" value="S">
 <input type ="submit" value="CONFIRMAR EXCLUSÃO DE PRODUTO?" name="excluir"></p>
 </form>

 <?php
 mysql_close($conexao);
 }
 }

 else // excluir produto
 {
 $codigo=$_POST["codigo"];
 $sql= " DELETE FROM produtos WHERE codigo_produto=$codigo";
 $res2=mysql_query($sql);
 $l=mysql_affected_rows();
    if ($l==1)
 {
    echo"<p align='center'>Produto excluído com sucesso!</p>";
 }
    else
 {
    $erro=mysql_error();
         echo "<p align='center'>Erro:$erro</p>";
 }
     mysql_close($conexao);
 }
 ?>
 <p align="center"><p align="center"><a
href="menu.php">Voltar</a></p>
 </body>
 </html>

O titulo deve ser diferente do que você colocou, porque, deveria já indicar o problema e na sua pergunta não falou sobre o problema, complicado ajudar

1 curtida

Estou um pouco enrolado com as funções para buscar as informações no banco e nos 3 códigos eu tento buscar as informações no banco e me da o erro:

" Uncaught Error: Call to undefined function mysql_query() "

1 curtida

o Seu código misturo mysql com mysqli, então utilize mysqli, em todas as funções, exemplo:

se colocou mysql_fetch_row não seria mysqli_fetch_row e vale lembrar que mysql é obsoleto nas versões mais atuais do PHP

1 curtida

@Dragoon eu arrumei os códigos colocando mysqli, porém ainda me da erro na declaração :disappointed: Conseguiria me ajudar, pfv

LISTAR.PHP

<?php
//CONEXÃO COM BANCO
 // Aqui você se conecta ao banco
$mysqli = new mysqli('localhost', 'root', '', 'estoque');
//COMANDO SQL PARA SELECIONAR TODOS OS REGISTROS
 $sql="SELECT * FROM produtos";
//EXECUÇÃO DO COMANDO
 $query = $mysqli->query($sql);
 //SETANDO UM REGISTRO POR VEZ
 while ($dados = $query->mysqli_fetch_array($query)) 
 {
 $codigo=$dados[0];
 $equipamento=$dados[1];
 $descricao=$dados[2];
 $adicionais=$dados[3];

    echo "Código: $codigo<br>";
    echo "Equipamento: $equipamento<br>";
    echo "Descrição: $descricao<br>";
    echo "Adicionais: $adicionais<br><p>";
 }

 echo 'Registros encontrados: ' . $query->num_rows;

//FECHANDO A CONEXÃO
 mysqli_close($conexao);
 ?>

ALTERAR.PHP

<?php
 }
    else if(!isset($_POST["enviar"])) //busca dados do produto
 {
        $codigo=$_POST["cod"];
        $sql = "SELECT * FROM produtos WHERE codigo_produto='".$codigo."'";
        $query = mysqli_query($sql);//obtem a resposta da query executada acima
        $link = mysqli_num_rows($query);

    if ($link == 0) //verifica quantas linhas teve a query executada, se for zero o produto nao foi encontrado
 {  
     echo "Produto não encontrado $codigo";
    }
    else
 { 
     echo "Produto encontrado";

    $dados = mysqli_fetch_row($query);//seta a linha de registro do produto e depois coloca cada campo em uma variavel
    $equipamento=$dados[1];
    $descricao=$dados[2];
    $adicionais=$dados[3];
 ?>

EXCLUIR.PHP

<?php
 }
 elseif(!isset($_POST["enviar"])) //busca dados do produto
 {
 $codigo=$_POST["codigo"];
 $sql1="SELECT * FROM produtos WHERE codigo_produto='$codigo'";
 $res=mysqli_query($sql1);
 if (mysqli_num_rows($res)==0)
 echo "Produto não encontrado";
 else
 { echo "Produto encontrado";
 $registro=mysqli_fetch_row($res);//seta a linha de registro do produto e depois coloca cada campo em uma variavel
 $codigo=$registro[0];
 $equipamento=$registro[1];
 $descricao=$registro[2];
 $adicionais=$registro[3];
 ?>

Você tem que apontar os problemas, assim fica complicado não tenho como testar!