我正在尝试在MySQL中使用if条件。我收到语法错误。我尝试查看了很多其他有关Stack Overflow的讨论,但无法弄清楚。谁能帮我吗?
这是我的代码:
if(isset($_POST['Submit'])) {
$branch = $_POST['branch'];
$query = "SELECT * FROM table
WHERE branch='$branch' and testcase like
IF(isset(_$POST['testcase']),'$_POST['testcase']','1=1')";
....
}
我想在WHERE
和branch='$branch'
之间的testcase
中进行和运算,具体取决于是否以我的形式选择了天气。如果选择它,我要在branch和testcase
的值之间进行and操作。如果没有,我只想过滤出$branch
值的结果。
答案 0 :(得分:0)
Isset不是mysql命令,而是php命令。您需要先构建变量。
$bleach = false
IF(isset($_POST['testcase'])
{
$bleach = $_POST['testcase']
}
Else
{
$bleach=1
}
然后将$ bleach传递到您的查询中
答案 1 :(得分:-1)
如果我正确理解,您是否希望根据是否设置了testcase
值进行动态查询?
如果是这种情况,您可以尝试以下方法:
if(isset($_POST['Submit'])) {
$branch = $_POST['branch'];
$testcase = "";
if (isset($_POST['testcase'])) {
$testcase = "and testcase like '" . $_POST['testcase'] . "'";
}
$query = "SELECT * FROM table
WHERE branch='$branch' $testcase";
这样,如果设置了测试用例值,它将在查询的$testcase
部分中设置and testcase like
。如果未设置,那么它将是一个空字符串,将仅使$query
的值保留在$branch
中。