2016-09-19 77 views
0

Hello everyone?! When I change the value of my texboxes, I have this kind of error. Click to see the image.當我更新時的錯誤消息

而且這裏是我的代碼。我不知道到底發生了什麼。我希望有人能幫助我。先謝謝你。 :(

<!--Update--> 
<?php 
    include "config.php"; 
    include "header.php"; 
    if(isset($_GET['u'])): 
    if(isset($_POST['bts'])): 
     $stmt = $mysqli->prepare("UPDATE personal SET id_personal=?, name=?, date=?, datepaid=?, amount=? WHERE id_personal=?"); 
     $stmt->bind_param('sssss', $id, $en, $date, $dp, $amnt); 

     $id = $_POST['id']; 
     $en = $_POST['en']; 
     $date = $_POST['date']; 
     $dp = $_POST['dp']; 
     $amnt = $_POST['amnt']; 

     if($stmt->execute()): 
     echo "<script>location.href='index.php'</script>"; 
     else: 
     echo "<script>alert('".$stmt->error."')</script>"; 
     endif; 
    endif; 
    $res = $mysqli->query("SELECT * FROM personal WHERE id_personal=".$_GET['u']); 
    $row = $res->fetch_assoc(); 
?> 
+1

錯誤非常明顯。 –

+0

我也試過,在我的代碼中。我只把確切的5。 –

+0

'sssss'是什麼? – xzegga

回答

0

的錯誤是非常明顯的「變量數不匹配的參數個數」。

你「$stmt->bind_param()」應該有六個變量,因爲你已經在6位被稱爲變量「$mysqli->prepare()」語句

0

如果要更新或更改ID,那麼你應該通過一個多參數/參數

如果你不想更新ID然後執行以下操作:。

$stmt = $mysqli->prepare("UPDATE personal SET name=?, date=?, datepaid=?, amount=? WHERE id_personal=?"); 
    $stmt->bind_param('sssss', $en, $date, $dp, $amnt, $id); 


    $en = $_POST['en']; 
    $date = $_POST['date']; 
    $dp = $_POST['dp']; 
    $amnt = $_POST['amnt']; 
    $id = $_POST['id']; 

希望它有幫助!

相關問題