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

时间:2011-04-09 21:41:46

标签: php

这是不好的做法吗?

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);}

注意我是如何使用相同的名称变量的?在处理elseif语句时,这是否重要并且是不好的做法?

2 个答案:

答案 0 :(得分:1)

不,没关系。但我要问的是$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变量。此外,您在if上不需要额外else if,因为您正在测试与第一个if相反的情况。

答案 1 :(得分:1)

我其实喜欢这个

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