如果$ _GET为空,则使页面不执行任何操作

时间:2014-02-16 17:26:20

标签: php mysql get

我正在尝试让页面在有$_GET数据时更新数据库。

然而,即使www.myurl.com?status=为空白,页面也不会更新数据库。

这是我的代码

$status=$_GET["status"];

$sql="UPDATE users SET status =$status WHERE personID='$user'" or die(mysql_error());
mysql_query($sql);

有人可以帮忙吗?如果URL只是www.myurl.com

,我试图让页面无效

2 个答案:

答案 0 :(得分:2)

if(!empty($_GET['status']) { // Check if `status` is not empty
    $sql="UPDATE users SET status = $_GET['status'] WHERE personID='$user'";
    mysql_query($sql);  // Continue with sql query
}

empty - http://us2.php.net/empty

isset - http://us2.php.net/isset

答案 1 :(得分:0)

在PHP中使用empty()来实现这一目标。

if(!empty($_GET["status"]))  //<--- Control to the inside will be passed only if the status variable is not empty
{
$status=$_GET["status"];
$sql="UPDATE users SET status =$status WHERE personID='$user'" or die(mysql_error());
mysql_query($sql);
}

这是第一件事。其次,您使用的是过时的弃用API,即mysql_*函数。您需要切换到PreparedStatements