Php 删除行结果SQL查询
我是PHP新手。我是android开发者,对PHP了解不够。我开发了一个函数,可以从MySQL数据库中为我提供数字。我想在它经过我的时候马上删除它。我目前正在做的事情如下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-
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你认为这是一个坏习惯吗?谢谢