php – mysql – if value = 0缩短where语句
发布时间:2020-12-13 13:35:03 所属栏目:PHP教程 来源:网络整理
导读:我想知道是否有可能以优雅的方式根据某些变量值缩短查询. 例如:我有一个名为$var = 0的值,我想发送一个如下所示的查询: $query = "SELECT id,name,quantity FROM products WHERE quantity 100"; 但是$var!= 1我想发送一个这样的查询: $query = "SELECT i
我想知道是否有可能以优雅的方式根据某些变量值缩短查询.
例如:我有一个名为$var = 0的值,我想发送一个如下所示的查询: $query = "SELECT id,name,quantity FROM products WHERE quantity > 100"; 但是$var!= 1我想发送一个这样的查询: $query = "SELECT id,quantity FROM products WHERE quantity > 100 AND id = '$var'"; 因此,根据$var的值,我想执行一个查询.它们仅与最后一个表达不同. 一个是用PHP制作的: if ( $var == 0 ) { $query_without_second_expression } else { $query_with_second_expression } 第二个是在mysql中制作的: SELECT WHEN '$var' <> 0 THEN id,quantity FROM products WHERE quantity > 100 AND id = '$var' ELSE id,quantity FROM products WHERE quantity > 100 END 但我不喜欢它 – 每个想法都会在某些问题中加倍查询.我可以这样做吗? SELECT id,quantity FROM products WHERE quantity > 100 CASE WHEN $var <> 0 THEN AND id = '$var' 它更短,并在需要时添加部分查询.当然,真正的查询要复杂得多,并且真正期望更短的语句.有人有想法吗?
如果我理解得好..
$query = "SELECT id,quantity FROM products WHERE quantity > 100"; if ( $var != 0 ) { $query .= " AND id = '$var'"; } 你喜欢它吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |