if语句mysql语法错误

yizd12fk  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(432)

我尝试在mysql中使用if条件。我得到一个语法错误。我试着看了很多其他关于堆栈溢出的讨论,但都没有找到答案。有人能帮我吗?
这是我的密码:

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 取决于天气它是选择或不在我的形式。如果选中,我想在分支和的值之间执行and操作 testcase . 如果不是,我只想过滤掉 $branch 价值观。

cvxl0en2

cvxl0en21#

如果我理解正确的话,您希望有一个基于 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值设置为 $testcaseand testcase like 查询的一部分。如果没有设置,那么它将是一个空字符串,它将离开 $query 只有 $branch 价值观。

rur96b6h

rur96b6h2#

isset不是mysql命令,而是php命令。首先需要构建变量。

$bleach = false

IF(isset($_POST['testcase'])
{
$bleach = $_POST['testcase']
}
Else 
{
$bleach=1
}

然后将$bleach传递到您的查询中

相关问题