Php 删除行结果SQL查询

Php 删除行结果SQL查询,php,html,mysql,sql,mysqli,Php,Html,Mysql,Sql,Mysqli,我是PHP新手。我是android开发者,对PHP了解不够。我开发了一个函数,可以从MySQL数据库中为我提供数字。我想在它经过我的时候马上删除它。我目前正在做的事情如下 function getAllNumbers() { require_once("includes/conf.php"); global $conn; $sql = "SELECT number from number_list WHERE server=1"; $result = $conn-

我是PHP新手。我是android开发者,对PHP了解不够。我开发了一个函数,可以从MySQL数据库中为我提供数字。我想在它经过我的时候马上删除它。我目前正在做的事情如下

function getAllNumbers() {
    require_once("includes/conf.php");
    global $conn;
    $sql = "SELECT number from number_list WHERE server=1";
    $result = $conn->query($sql);
    $data = array();
    if($result) {
        while($row = $result->fetch_row()) {
        array_push($data, $row[0]);
        $delete = "DELETE number from number_list WHERE server=1";
        $result = $conn->query($delete);

        }
    }
    $response["data"] = $data;
    return $response;
}
id  int(11) NO  PRI NULL    auto_increment  
name    varchar(50) NO      NULL        
number  varchar(50) NO      NULL        
server  int(10) NO      0       
status  int(1)  NO      -1      
last_act    timestamp   NO      CURRENT_TIMESTAMP       
user_id int(11) NO  MUL NULL        
created_at  timestamp   NO      CURRENT_TIMESTAMP       
disable int(11) NO      0       
notify  int(1)  NO      1       
fcm varchar(500)    NO      NULL    
我的桌子结构如下所示

function getAllNumbers() {
    require_once("includes/conf.php");
    global $conn;
    $sql = "SELECT number from number_list WHERE server=1";
    $result = $conn->query($sql);
    $data = array();
    if($result) {
        while($row = $result->fetch_row()) {
        array_push($data, $row[0]);
        $delete = "DELETE number from number_list WHERE server=1";
        $result = $conn->query($delete);

        }
    }
    $response["data"] = $data;
    return $response;
}
id  int(11) NO  PRI NULL    auto_increment  
name    varchar(50) NO      NULL        
number  varchar(50) NO      NULL        
server  int(10) NO      0       
status  int(1)  NO      -1      
last_act    timestamp   NO      CURRENT_TIMESTAMP       
user_id int(11) NO  MUL NULL        
created_at  timestamp   NO      CURRENT_TIMESTAMP       
disable int(11) NO      0       
notify  int(1)  NO      1       
fcm varchar(500)    NO      NULL    
但我感觉,若在数字选择查询和删除查询之间有任何新的数字到达数据库,它将在第一次查询中删除它而不选择数字。所以我希望只删除在第一次查询中被选中的行。如果我的密码有什么需要更改的,请告诉我


非常感谢:)

因此,如果您在第一个查询中选择
id
,因为这是唯一的键,您可以使用该键仅删除此行

function getAllNumbers() {
    require_once("includes/conf.php");
    global $conn;
    $sql = "SELECT number,id from number_list WHERE server=1";
    $result = $conn->query($sql);
    $data = array();
    if($result) {
        while($row = $result->fetch_row()) {
            $data[] = $row[0];
            $id = $row[1];
            $delete = "DELETE number from number_list WHERE id = $id";
            $result = $conn->query($delete);
        }
    }
    $response["data"] = $data;
    return $response;
}

这个表的模式会有用吗?你能执行这个函数吗?@riggsfully我已经添加了表结构。请检查一下。感谢首先如果您选择查询结果,并且在删除您想要的结果后意味着服务器=1,因此它将被删除,请检查它。您不能
删除
列,但您可以更新它并将其设置为空。删除将删除整行。为什么要逐个删除它们?非常感谢先生!我认为这是一个完美的方法。@LaurynasGerbutavicius你认为这是一个坏习惯吗?谢谢