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

时间:2014-02-25 00:18:54

标签: mysql sql sql-delete

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

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它有效但不删除(duh)。我怎样才能删除它?对不起,如果这是一个简单的问题,我对语言的了解并不多。

1 个答案:

答案 0 :(得分:1)

我认为只有if中的条件为TRUE时才会设置$pid_check

没有为else分支设置。

一种选择是在if测试之前重新定位$ pid_check的分配。