从mysql数据库中的表中删除行

问题描述 投票:0回答:1

我试图根据条件从数据库中删除某个项目。这是我所拥有的:

while ($row = mysql_fetch_array($result)) {

$now = strtotime("now");
$dateArray = date_parse_from_format("n-j-Y", $row["date"]);
$event_date = strtotime($dateArray['year'].'-'.$dateArray['month'].'-'.$dateArray['day']);
    // temp user array
    $event = array();
    if($event_date > $now) {
//Event is in the future 
    $pid_check =$row["pid"];
    $event["pid"] = $row["pid"];
    $event["name"] = $row["name"];
    $event["longitude"] = $row["longitude"];
    $event["latitude"] = $row["latitude"];
    $event["pavement"] = $row["pavement"];
    $event["traffic"] = $row["traffic"];
    $event["environment"] = $row["environment"];
    $event["image_b64"] = $row["image_b64"];
    $event["date"] = $row["date"];
    $event["time"] = $row["time"];
    $event["type"] = $row["type"];
    // push single product into final response array
    array_push($response["events"], $event);
    } else {
    $result2 = mysql_query("DELETE FROM events WHERE pid = $pid_check");
}
}

但是当我尝试这个时,它显示为空白,当我注释掉 result2 时,它可以工作,但不会删除(废话)。我怎样才能让它删除?抱歉,如果这是一个简单的问题,我的语言知识不多。

php sql mysql sql-delete
1个回答
1
投票

我认为仅当 if 中的条件为 TRUE 时

$pid_check
才会被设置。

尚未为

else
分支设置。

一种选择是在

if
测试之前重新定位 $pid_check 的分配。

© www.soinside.com 2019 - 2024. All rights reserved.