2016-06-27 78 views
0

我不是那麼大的一個天才在PHP或SQL中,但我得到這個奇怪的錯誤,在那裏我看到的信息,我想發送到數據庫上鍊接和我沒有得到任何錯誤,但是我的數據庫沒有得到更新。PHP不發送更新信息到數據庫

 <!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> 

我知道這段代碼可能會有一些語法錯誤,如果是這樣,我很遺憾。提前致謝!

+0

如果您將準備好的語句輸入到phpmyadmin中,並且有一些值會更新嗎?您還沒有對輸入進行清理,這是一個安全缺陷,但是我猜你寧願先安裝它,然後再擔心安全性。你的表單值取決於GET請求,所以你確定那些被填寫? –

+0

謝謝你的回覆,但曼努埃爾已經幫我解決了這個問題ellow。這是一個簡單的學校項目,我的一位朋友正在幫忙,我只是以錯誤的順序綁定參數 –

回答

0

嘗試

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

這樣做了,非常感謝您的支持 –

0

我想你是結合了錯誤的PARAMS不應該第一個是$ _GET [「produto1」(因爲它是在更新語句中的第一個..