Php 从mysql中的两列中同时提取数据

Php 从mysql中的两列中同时提取数据,php,mysql,Php,Mysql,基本上,我有一个由两列组成的表,message\u id,message\u id\u reply我需要什么: 提取与外部php变量相等的id 从上面的行中提取每个id(如果它存在于message\u id\u reply列中) 这是我的桌子: +------------+------------------+ | message_id | message_id_reply | +------------+------------------+ | 75 |

基本上,我有一个由两列组成的表,
message\u id
message\u id\u reply
我需要什么:

  • 提取与外部php变量相等的id
  • 从上面的行中提取每个id(如果它存在于
    message\u id\u reply
    列中)
  • 这是我的桌子:

    +------------+------------------+
    | message_id | message_id_reply |
    +------------+------------------+
    |         75 |               70 |
    |         76 |               75 |
    |         77 |               76 |
    |         78 |               77 |
    |         80 |               79 |
    |         81 |               80 |
    |         82 |               81 |
    |         83 |               74 |
    |         84 |               79 |
    |         85 |               70 |
    |         86 |               84 |
    |         88 |               73 |
    |         89 |               88 |
    +------------+------------------+
    
    例1:如果我发送
    消息_id=78
    我需要获取
    78,77,76,75,70

    例2:如果我发送
    消息_id=86
    我需要获取
    86,84,79

    例3:如果我发送
    消息\u id=90
    我需要获取
    90,78,77,76,75,70

    以下是您的查询:

    $query = "SELECT * FROM `your_table` WHERE `message_id` <= '$id'";
    

    $query=“从`your_table`WHERE`message_id`中选择*如果你通过32,那么它应该需要32、31、30?你需要一个递归查询,对吗?”?mysql本机不支持它,但使用php它可能是递归查询,我只需要检查message_id是否等于下一行的message_id_回复,这样就可以从一开始就获得所有对话。我建议更改您的数据结构,并将每条消息关联到一个
    对话\u id
    ,以便您可以更快地查询它们。请对answertrue中的SQL注入漏洞进行向下投票抱歉,但假设他从何处获取id,他没有指定从何处获取id。无论如何,抱歉,是的,但是如果我有:+------------------------------------------------+----留言| id |留言| id |回复|+-------------------+----75 | 70 | 76 | 77 | 78 | 77 | 80 | 79 | 81 | 80 |+------------+------------------+我想选择message_id=81,我需要得到答案81,80,79。因为78,77,76,75,70来自另一棵树。@Serghei-请编辑您的问题以包含此有价值的澄清