我对此代码有麻烦:

if ($_GET['offline']) {$extranet = $_GET['offline'];} else {$extranet = $online;}
$sql = mysqli_query($db,"UPDATE tbl_system SET value = '$extranet' WHERE property = 'extranet'");
echo $_GET['offline'];
echo $extranet;
echo $online;


在数据库中,属性= Extranet的字段的值为1。
回声结果:

$_GET['offline'] = 0
$extranet        = 1
$online          = 1


现在,显然,这里出了问题。

提供此GET的URL是:?app=admincp&offline=0,所以$_GET['offline']不是问题。

问题必须出在if语句上,但我无法弄清楚,

有任何想法吗?

最佳答案

$ _GET ['offline']为0,且0的计算结果为false,因此该语句正确。如果要检查是否将脱机作为参数传递,则必须使用isset()

if (!isset($_GET['offline'])) {$extranet = $_GET['offline'];} else {$extranet = $online;}

关于php - PHP + MySQL问题:(,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1290596/

10-10 13:19