相同名称的变量,但在不同的if语句中


Same named variables but in different if statements?

这是不好的做法吗?

if($_POST['formvalue'] == '1') {
$sql = "INSERT INTO accounts (username) VALUES ('$username')";
mysql_query($sql);}
elseif($_POST['formvalue'] != '1') {
$sql = "INSERT INTO accounts (email) VALUES ('$email')";
mysql_query($sql);}
注意到我是如何使用相同的name变量的吗?在处理elseif语句时,这很重要吗?

不,没关系。但是我想问的是,$sql变量是必要的,为什么不把字符串字面值放入对mysql_query()的调用中,而不是使用$sql变量。

,

if($_POST['formvalue'] == '1') {
    mysql_query("INSERT INTO accounts (username) VALUES ('$username')");
} else {
    mysql_query("INSERT INTO accounts (email) VALUES ('$email')");
}

它完全不需要$sql变量。此外,您不需要在else if上额外的if,因为您正在测试与第一个if相反的内容。

我其实很喜欢这个

if($_POST['formvalue'] == '1') {
    $sql = "INSERT INTO accounts (username) VALUES ('$username')";
}else{
    $sql = "INSERT INTO accounts (email) VALUES ('$email')";
}
mysql_query($sql);