Jump to content
pemoamsi

Update da valores na base de dados

Recommended Posts

pemoamsi

Pretendo actualizar o preço de produtos na base de dados, mas infelizmente parece que algo está a encravar isto e imprime a mensagem como se estivesse a enviar tudo direito.

Formulário 

            <form id="submit1" method="post">
            <span class="small">Nome do produto</span>
            <select name="nome1">
                            <option value=""> --- </option>
                            <?php
                            $result = mysql_query("SELECT * FROM produto");
                            while ($db_field = mysql_fetch_assoc($result)) {
                                print "<option value=\"";
                                print $db_field['id']; 
                                print "\">";
                                print $db_field['nome']; 
                                print "</option>";}
                    			print  "</select>";
                       
                            ?>
            </select><br /><br />
            <span class="small">Preço do produto</span>
		<input type="text" name="preco1" id="preco1" /><br /><br />
            </div>
            <div align="right">
                <button type="submit" name="submit1" style="font-size: 14;">Submeter</button><br /><br />
            </div>
            </form>

Base de dados

if (isset($_POST['submit1'])) {
    
$id1 = $_POST['id'];       
$nome1 = $_POST['nome1'];    
$preco1 = $_POST['preco1'];    
  

if ($nome1 != NULL){
    echo "<div>" . $row['preco1'] . "</div>";
    echo "<div>" . $row['nome1'] . "</div>";
    echo "<div>" . $row['id'] . "</div>";
    mysql_query("UPDATE produto SET preco=$preco1 WHERE nome=$nome1");
    }
}

Share this post


Link to post
Share on other sites
HappyHippyHippo

sem ver nada do código não parece que esteja a criar o comando SQL correcto:

mysql_query("UPDATE produto SET preco=$preco1 WHERE nome=$nome1");

que deve ficar:

UPDATE produto SET preco=12345 WHERE nome=nome do produto

deveria ser:

mysql_query("UPDATE produto SET preco=$preco1 WHERE nome='$nome1'");

ficando:

UPDATE produto SET preco=12345 WHERE nome='nome do produto'

para não dizer que bem podias por as clicas no preço sem problemas nenhum também


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
pmg

Atenção às injecções de SQL

update produto set preco=12345 where nome='hamburgur do Mc'Donalds'

ou até

update produto set preco=0 where nome='bobby tables' or 1=1 --'


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
pemoamsi

Continuo com problemas... :\

<?php
include("autentication.php");
$result = mysql_query("SELECT * FROM produto");
?>
       <div>
            <div>
            <div class="titulo">Nova compra</div>
            <div class="actualizar">
            <br />            
            <form id="submit1" method="post">
            <span class="small">Nome do produto</span>
            <select name="nome1">
                            <option value=""> --- </option>
                            <?php
                            $result = mysql_query("SELECT * FROM produto");
                            while ($db_field = mysql_fetch_assoc($result)) {
                                print "<option value=\"";
                                print $db_field['id']; 
                                print "\">";
                                print $db_field['nome']; 
                                print "</option>";}
                    			print  "</select>";
                       
                            ?>
            </select><br /><br />
            <span class="small">Preço do produto</span>
		<input type="text" name="preco1" id="preco1" /><br /><br />
            </div>
            <div align="right">
                <button type="submit" name="submit1" style="font-size: 14;">Submeter</button><br /><br />
            </div>
            </form>
            </div>

       </div> 
    </div>
<?php 

if (isset($_POST['submit1'])) {
    
$id1 = $_POST['id'];       
$nome1 = $_POST['nome1'];    
$preco1 = $_POST['preco1'];    
  

if ($nome1 != NULL){
    echo "<div>" . $row['preco1'] . "</div>";
    echo "<div>" . $row['nome1'] . "</div>";
    echo "<div>" . $row['id'] . "</div>";
    mysql_query("UPDATE produto SET preco =$preco1 WHERE nome = '$nome1'");
    }
}


?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.