where 子句 mysql 中的 if 语句语法错误
if statement in where clause mysql syntax error
我正在尝试使用 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')";
....
}
我想在 branch='$branch'
和 testcase
之间的 WHERE
中执行和操作,具体取决于是否在我的表单中选择了天气。如果选中,我想在branch和testcase
的值之间做一个与运算。如果没有,我只想过滤掉 $branch
值的结果。
如果我理解正确的话,您想根据是否设置了 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
值。
Isset 不是 mysql 命令,它是 php 命令。您需要先构建变量。
$bleach = false
IF(isset($_POST['testcase'])
{
$bleach = $_POST['testcase']
}
Else
{
$bleach=1
}
然后将 $bleach 传递到您的查询中
我正在尝试使用 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')";
....
}
我想在 branch='$branch'
和 testcase
之间的 WHERE
中执行和操作,具体取决于是否在我的表单中选择了天气。如果选中,我想在branch和testcase
的值之间做一个与运算。如果没有,我只想过滤掉 $branch
值的结果。
如果我理解正确的话,您想根据是否设置了 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
值。
Isset 不是 mysql 命令,它是 php 命令。您需要先构建变量。
$bleach = false
IF(isset($_POST['testcase'])
{
$bleach = $_POST['testcase']
}
Else
{
$bleach=1
}
然后将 $bleach 传递到您的查询中