2016-03-03 110 views
0

我想給用戶刪除其他用戶的可能性。我做了一個腳本,用戶通過刪除按鈕獲得所有用戶的列表。按鈕啓動腳本,但不會從列表中刪除用戶。這裏是我的代碼:從數據庫表中刪除

        function get_userlist(){ 
      $select_users = $this->db->prepare("SELECT user_id, fname, lname, email 
              FROM user"); 
      $select_users->execute(); 

      echo "<tbody>"; 

      while($row = $select_users->fetch(PDO::FETCH_ASSOC)){ 
       echo "<form action='' method=''><tr><td>".$row["user_id"]."</td><td>".$row["fname"]."</td><td> 
       ".$row["lname"]."</td><td>".$row["email"]."</td><td> 
       <input type='hidden' name='user_id' value=".$row["user_id"] . " > 
       <input type='submit' name='submit_delete' value='Delete'></td> 
       </tr></form>"; 

      } 
      echo "</tbody></table>"; 
     } 

     function delete_user($user_id) 
     { 
      $delete_user = $this->db->prepare("DELETE FROM user WHERE user_id = :user_id"); 
      $delete_user->bindParam(':user_id', $user_id, PDO::PARAM_INT); 
      $delete_user->execute(); 
     } 

和文件在哪裏使用這些功能:

$user = new USER($con); 
$user->get_userlist(); 

if(isset($_POST['submit_delete'])){ 
    $user_id = $_POST['user_id']; 
    $user->delete_user($user_id); 
} 

我在做什麼錯?

+0

'函數DELETE_USER()'應該是'功能DELETE_USER($ user_ID的)''也 ':USER_ID,$ user_id''應該是'':USER_ID」,$ user_id' –

+0

使用($ user_id)更新函數,但是你的意思是'user_id,$ user_id'應該是':user_id',$ user_id' – ShabbyAbby

+0

你的html在兩個輸入標籤後有一個額外的。無論是我還是無法找到開始標記。 – aguertin

回答

1

您沒有將$ user_id變量傳遞給您的delete_user函數。編輯你這樣的代碼:

function delete_user($user_id) 
{ 
     $delete_user = $this->db->prepare("DELETE FROM user WHERE user_id = :user_id"); 
     $delete_user->bindParam(':user_id', $user_id, PDO::PARAM_INT); 
     $delete_user->execute(); 
} 
+0

試過了,仍然不行,還有其他想法嗎? – ShabbyAbby

+0

@ShabbyAbby你是否也編輯過這一行? '$ delete_user-> bindParam(':user_id',$ user_id);' – mertizci

+0

看起來像這樣: 'function delete_user($ user_id) { $ delete_user = $ this-> db-> prepare(「DELETE FROM user WHERE user_id =:user_id「); $ delete_user-> bindParam(':user_id',$ user_id); $ delete_user-> execute(); }' – ShabbyAbby