我是 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
但我觉得如果在号码选择查询和删除查询之间有任何新号码到达数据库,它将在第一个查询中没有选择号码的情况下删除它。所以我希望只删除在第一个查询中被选中的行。让我知道我的代码是否需要更改。
非常感谢:)
最佳答案
因此,如果您在第一个查询中选择 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;
}
关于php - 删除行结果 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504415/