如果行为空,则删除PHP Mysql

如果行为空,则删除PHP Mysql,php,mysql,sql-delete,Php,Mysql,Sql Delete,我的桌子上有4个字段。p1 p2 p3 p4 gameID是行表。因此,只应删除该行。 因此,当它更新playe1=''时,它将删除行表 请注意,仅当p1 p2 p4为空时,它才会删除 我的代码是否正确?它将行player1更新为空,但未删除 if($p1 == $email_val){ $sql_update_player = mysql_query("UPDATE game SET player1='' WHERE gameID='$gameID' ") or die ( mysql

我的桌子上有4个字段。p1 p2 p3 p4 gameID是行表。因此,只应删除该行。 因此,当它更新
playe1=''
时,它将删除行表

请注意,仅当p1 p2 p4为空时,它才会删除

我的代码是否正确?它将行player1更新为空,但未删除

if($p1 == $email_val){
    $sql_update_player = mysql_query("UPDATE game SET player1='' WHERE gameID='$gameID' ") or die ( mysql_error() );
$stat = "1";
    if(empty($p1) and empty($p2) and empty($p3) and empty($p4) ){
        $sqlDelGame = mysql_query("DELETE FROM game WHERE gameID='$gameID'") or die ( mysql_error() );
        echo "Game deleted";
    }
}

如果您想删除还没有玩家的游戏,您可以运行:


请小心使用
empty()
。PHP中有很多东西可以称为
empty()
,但它们不是,也不会被任何其他智能/理智的语言所接受。另外,您的删除代码永远不会触发,因为您已经强制执行了
$p1
必须等于其他值。如果另一个值从不为“空”,则删除代码无法启动。那么我是否应该将其设置为类似于以下内容的值:
$p1=='
?您确定所有
$p1、$p2、$p3、$p4都为空吗?您的代码中没有显示这些变量中存储了哪些值的位置swell,
如果($p1==$email\u val){$sql\u update\u player=mysql\u查询(“更新游戏集player1=”,其中gameID='$gameID'))或die(mysql\u error());$stat=“1”
这部分应该删除$p1中的值,而不是删除我使用了update并将其内容替换为“”相同的过程将发生在p2 p3和p4上我想发生的是在所有P都为空时删除行`这部分的哪一部分应该清空$p1变量?您正在更新一个表行,而不是接触这些值任何$pX变量的
DELETE FROM game
WHERE player1 = ''
  AND player2 = ''
  AND player3 = ''
  AND player4 = '';