如何使用PDO使用2个不同的ID从数据库中删除数据

时间:2017-03-07 02:21:11

标签: php mysql database pdo

在数据库中,我有一个'id'和'reply_id'列以及其他列。 我正在尝试使用主'id'删除数据,同时,我需要检查其他行是否与'reply_id'匹配相同的'id'。如果找到匹配项,则应删除所有“reply_id”与“id”匹配的行。

例如:有10行,其中'id'为1,2,3,4,5,6,7,8,9,10,'reply_id'为0,0,0,0, 8,8,8,9,9,10。如果我尝试删除号码为8的'id',那么所有带'reply_id'号码8的行也应该被删除。

我正在学习PHP,所以我不是专家。下面的代码只删除带有'id'的行,而不删除带有'reply_id'且匹配相同编号的其他行。

        if(isset($_POST['yesdelete'])){

            $delete_id  =  $_POST['deleteid'];

            $db->query('DELETE FROM msgs WHERE id = :id');
            $db->bind(':id', $delete_id, PDO::PARAM_INT);

            $run = $db->execute();

            if($run){

                redirect('my-messages.php');

            }

        }

1 个答案:

答案 0 :(得分:-1)

if(isset($_POST['yesdelete'])){

            $delete_id  =  $_POST['deleteid'];

            $db->prepare('DELETE FROM msgs WHERE id = :id or reply_id = :id');
            $db->bind(':id', $delete_id, PDO::PARAM_INT);

            $run = $db->execute();

            if($run){

                redirect('my-messages.php');

            }

        }