Php 使用连接从mysql中删除?

Php 使用连接从mysql中删除?,php,mysql,sql,sql-delete,Php,Mysql,Sql,Sql Delete,我有一个包含2个表用户和类的数据库,每个用户可能有很多类,所以我添加了第三个表UserClass,它有用户ID和类ID,所以当我想从users表中删除用户时,我也需要从UserClasse表中删除它 我提出了这个要求: $id = $_GET['id']; // already passed through URL using GET method . $del = $db->prepare("DELETE FROM users,userClasses WHERE use

我有一个包含2个表用户和类的数据库,每个用户可能有很多类,所以我添加了第三个表UserClass,它有用户ID和类ID,所以当我想从users表中删除用户时,我也需要从UserClasse表中删除它

我提出了这个要求:

    $id = $_GET['id']; // already passed through URL using GET method .

    $del = $db->prepare("DELETE FROM users,userClasses WHERE users.id= :id, userClasses.userID= :id");

    $del->bindParam(':id',$id);
    $del->execute();

但它不会删除!什么都没发生,有什么解决办法吗?怎么办?

你的SQL毫无意义-salleresp表在哪里


不能删除关联的结果集。使用声明表或运行两个删除查询—一个用于用户,一个用于用户类。

如果存在外键约束,则无法在一个查询中同时从两个表中删除条目。但是,如果不存在此类约束,则以下操作将起作用:

DELETE u.*, uc.* 
FROM users u
LEFT JOIN userClasses uc 
ON u.id = uc.userID
WHERE u.id= :id

您不能将相同的
:id
用于两个必须使用的项目different@adil,我已回滚您的编辑,该编辑使问题文本为“Nothing…”。如果可以,删除问题是摆脱问题的首选方法。然而,由于有一个现有的答案,你可能无法。在这种情况下,采取消极的代表,并从中吸取教训,在未来。我也经历过同样的事情;)另外,我可能会补充说,您可能会改进这个问题,并获得一些上升票来补偿下降票。对不起,这是用户类!是userClasses表中的userId是users表中id行中的外键。