2016-03-03 155 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