PHP不将UPDATE信息发送到数据库

时间:2016-06-27 23:14:14

标签: php mysql sql mysqli

我在PHP和SQL中都不是那么大的天才但是我得到了这个奇怪的错误,我在那里看到了我想要发送到链接上的数据库的信息,但我没有得到任何错误我的数据库没有得到更新。

        <!DOCTYPE html>
    <html lang="PT">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="style.css">
        <title>Alteração do produto</title>
    </head>
    <body>
        <?php
            $lig=new mysqli("localhost", "root", "", "pie");
            if($lig->connect_errno != 0){
                echo ("Base de dados indisponível");
            }
            $instrucao=$lig->prepare("UPDATE produto SET produto1 = ? , quantidade1 = ? , preco1 = ? WHERE codigo1 = ?");
            $instrucao->bind_param("isid", $_GET['codigo1'], $_GET['produto1'], $_GET['quantidade1'], $_GET['preco1']);
            $resultado=$instrucao->execute();
            if($resultado==FALSE){
                    echo "<p>produto não editado</p>";
            }
            else {
                    //header( "Location: shoppinglist.php" );
            }
            $lig->close();
        ?>
        <form method="get">
            <label>Código: <input name="codigo1" readonly value="<?php echo $_GET['codigo1'] ?>"></label>
            <label>Nome: <input name="produto1" value="<?php echo $_GET['produto1'] ?>"></label>
            <label>Quantidade: <input name="quantidade1" value="<?php echo $_GET['quantidade1'] ?>"></label>
            <label>Preço: <input name="preco1" value="<?php echo $_GET['preco1'] ?>"></label>
            <button type="submit" value="POST">Alterar</button>
        </form>


    </body>
    </html>

我知道此代码可能存在一些语法错误,如果是这样,我很抱歉。提前谢谢!

2 个答案:

答案 0 :(得分:0)

我认为你绑定错误的params不应该是第一个$ _GET ['produto1'](因为它是更新语句中的第一个..

答案 1 :(得分:0)

尝试

 $instrucao->bind_param("sidi", $_GET['produto1'], $_GET['quantidade1'], $_GET['preco1'], $_GET['codigo1']);