Jump to content
Fórum Script Brasil
  • 0

Acessar banco de dados com php


newnoob
 Share

Question

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 to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

Edited by newnoob
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.8k
×
×
  • Create New...