如果命令破坏了我的PHP脚本
我真的不知道这里发生了什么 如果我将此作为我的代码:如果命令破坏了我的PHP脚本,php,html,Php,Html,我真的不知道这里发生了什么 如果我将此作为我的代码: if($_POST['expOncology'] !="") { $varOnc = $_POST['expOncology']; if ($varOnc="min") { $sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_on
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc="min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
}
它工作良好,并显示了正确的结果
但是,如果我再添加一个if块,使其成为:
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc="min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="expert") {
$sql_extra[] = "(exp_onc='expert')";
}
}
即使我没有从下拉列表中选择“专家”,它也不会像预期的那样工作。如果ExponLogic没有设置为expert,那么该代码难道不应该运行吗?如果我不满足代码运行的条件,为什么还要影响代码?像
$varOnc=“something”
这样的条件将始终返回true
您应该使用=
或==
(如果您想检查数据类型)。
您的代码应该如下所示
if($_POST['expOncology'] != "") {
$varOnc = $_POST['expOncology'];
if ($varOnc == "min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "expert") {
$sql_extra[] = "(exp_onc='expert')";
}
}
试一试
with==比较好;) 这个
$varOnc=“min”
没有比较..我不知道,从什么时候开始使用单个=
进行比较?!?!?!请参阅当前满足的所有条件。你可能是说SQL后来失败了吗?这很奇怪,在此之前,我不小心在每一次比较中都使用了single=,而且效果很好。。。
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc=="min"){
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc=="some"){
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc=="high"){
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
}