Ir para conteúdo
Fórum Script Brasil
  • 0

Acessar banco de dados com php


newnoob

Pergunta

Pessoal, tenho um codigo aqui que era pra fazer update num banco de dados, ele funcionaria da seguinte forma, depois que o usuario digita-se os dados a serem atualizados no banco de dados e clica-se em salvar, era pro banco ser atualizado, mas quando ele clica em salvar aparece o seguinte erro "Fatal error: Function name must be a string in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 21 ", não tenho nem ideia do que isso possa ser, se alguém puder me ajudar eu ficaria grato, vou psotar o codigo aqui abaixo pra ficar mais facil de vocês analisarem.

codigo:

<?php
            
        $username = "root";
        $password = "";
        $hostname = "localhost";

            // Conexão ao banco de dados.
        $dbhandle = mysql_connect($hostname, $username, $password)
            or die("Não foi possível conectar ao MySQL!");
                    
            // Seleciona o banco de dados.
        $selected = mysql_select_db("restaurante", $dbhandle)
            or die("Não foi possível selecionar o banco de dados restaurante!");
                    
        $Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
        $preço=$_POST['preço'];//le o preço
        $Categoria=$_POST['Categoria'];//le a ccategoria
        $url_imagem=$_POST['url_imagem']; //le a url digitada

            //agora vomos salvar
        if(!mysql_query("UPDATE produto SET Nome='$Nome', preço='$preço', Categoria='$Categoria', url_imagem='$url_imagem' WHERE ID=" . $_GET("ID"))){
            die ('ERROR:'. mysql_error());
                            
        }

            //agora vamos ver se salvou
        echo "<h1>Registro foi alterado com sucesso!</h1>";
        mysql_close($dbhandle);
?>

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

<?php
            
        $username = "root";
        $password = "";
        $hostname = "localhost";

            // Conexão ao banco de dados.
        $dbhandle = mysql_connect($hostname, $username, $password)
            or die("Não foi possível conectar ao MySQL!");
                    
            // Seleciona o banco de dados.
        $selected = mysql_select_db("restaurante", $dbhandle)
            or die("Não foi possível selecionar o banco de dados restaurante!");
        $id = $_GET["ID"];           
        $Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
        $preço=$_POST['preço'];//le o preço
        $Categoria=$_POST['Categoria'];//le a ccategoria
        $url_imagem=$_POST['url_imagem']; //le a url digitada

            //agora vomos salvar
 $sql = mysql_query("UPDATE produto SET Nome='$Nome', preço='$preço', Categoria='$Categoria', url_imagem='$url_imagem' WHERE ID='$id'");
      if($sql) { 
            //agora vamos ver se salvou
        echo "<h1>Registro foi alterado com sucesso!</h1>";
        mysql_close($dbhandle);      
        } else {
        
        echo 'ERROR:'. mysql_error();
        mysql_close($dbhandle);     
        
        }

      
?>

Link para o comentário
Compartilhar em outros sites

  • 0

fiz algumas alterações pra as colunas ficarem com os mesmos nomes do banco e deu esse erro aqui

Notice: Undefined index: ID in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 15

Notice: Undefined index: Nome in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 16

Notice: Undefined index: preço in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 17

Notice: Undefined index: Categoria in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 18

Notice: Undefined index: url_imagem in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 19

Registro foi alterado com sucesso!

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta com esse codigo.

antes pegue seu arquivo de formulario la no PREÇO e tire o Ç e deixe C ....

<?php
            
        $username = "root";
        $password = "";
        $hostname = "localhost";

            // Conexão ao banco de dados.
        $dbhandle = mysql_connect($hostname, $username, $password)
            or die("Não foi possível conectar ao MySQL!");
                    
            // Seleciona o banco de dados.
        $selected = mysql_select_db("restaurante", $dbhandle)
            or die("Não foi possível selecionar o banco de dados restaurante!");
        $id = $_GET["ID"];          
        $Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
        $preço=$_POST['preço'];//le o preço
        $Categoria=$_POST['Categoria'];//le a ccategoria
        $url_imagem=$_POST['url_imagem']; //le a url digitada

            //agora vomos salvar
$sql = mysql_query("UPDATE produto SET Nome='$Nome', preço='$preço', Categoria='$Categoria', url_imagem='$url_imagem' WHERE ID='$id'");
      if($sql) {
            //agora vamos ver se salvou
        echo "<h1>Registro foi alterado com sucesso!</h1>";
        mysql_close($dbhandle);      
        } else {
        
        echo 'ERROR:'. mysql_error();
        mysql_close($dbhandle);    
        
        }

      
?>

Link para o comentário
Compartilhar em outros sites

  • 0

deixei meu codigo assim, todos os preços sem Ç com C e Coloquei todas as iniciais com letra maiuscula porque é assim que ta no banco, e o ID ta todo maiusculo

o codigo fico assim

<?php
            
        $username = "root";
        $password = "";
        $hostname = "localhost";

            // Conexão ao banco de dados.
        $dbhandle = mysql_connect($hostname, $username, $password)
            or die("Não foi possível conectar ao MySQL!");
                    
            // Seleciona o banco de dados.
        $selected = mysql_select_db("restaurante", $dbhandle)
            or die("Não foi possível selecionar o banco de dados restaurante!");
        $ID = $_GET["ID"];          
        $Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
        $preço=$_POST['preço'];//le o preço
        $Categoria=$_POST['Categoria'];//le a ccategoria
        $url_imagem=$_POST['url_imagem']; //le a url digitada

            //agora vomos salvar
$sql = mysql_query("UPDATE produto SET Nome='$Nome', preço='$preço', Categoria='$Categoria', url_imagem='$url_imagem' WHERE ID='$ID'");
      if($sql) {
            //agora vamos ver se salvou
        echo "<h1>Registro foi alterado com sucesso!</h1>";
        mysql_close($dbhandle);      
        } else {
        
        echo 'ERROR:'. mysql_error();
        mysql_close($dbhandle);    
        
        }

      
?>

só que ta dando esse erro

Notice: Undefined index: ID in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 14

Notice: Undefined index: Nome in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 15

Notice: Undefined index: preço in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 16

Notice: Undefined index: Categoria in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 17

Notice: Undefined index: url_imagem in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 18

ERROR:Unknown column 'preço' in 'field list'

não sei por que, mas o preço eu modifico, tiro o Ç e coloca com letra maiuscula, mas na hora de copir pro tópico ele coloca o Ç e minuscula, mas no codigo ta certo como eu falei inicialmente

Editado por newnoob
Link para o comentário
Compartilhar em outros sites

  • 0

absoluta cara, o meu arquivo form é esse:

<form action="atualiza_produtos.php" method="post">
    Digite o novo nome: <input type="text" name="Nome" /><br />
    Digite o novo preço: <input type="text" name="preço" /><br />
    Digite a nova categoria: <input type="text" name="Categoria" /><br />
    Digite a nova url da imagem: <input type="text" name="url_imagem" /><br />
    <input type="submit" value="Salvar"/>
</form>

Link para o comentário
Compartilhar em outros sites

  • 0

que bruxaria é essa...

Ok, faz assim: pega a parte aonde você seta as variáveis (codigo abaixo) e coloca essa parte exatamente no mesmo lugar aonde você testou o print_r. Acho que pode ser algum tipo de problema de escopo dentro do seu código (apesar de não fazer idéia do porque).

$ID = $_GET["ID"];          
        $Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
        $preço=$_POST['preço'];//le o preço
        $Categoria=$_POST['Categoria'];//le a ccategoria
        $url_imagem=$_POST['url_imagem']; //le a url digitad

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...