SQLSRV查询以返回列下列出的所有产品

时间:2012-01-31 22:26:22

标签: php sql sql-server

这是我的代码

if (isset($_GET["range"])) { $range = $_GET["range"]; } else { $range = BLOB; }

基本上,我正在使用GET变量来搜索“范围”列下的表格。唯一的问题是,在没有设置范围的情况下,我想要一个可以返回所有产品的默认变量。

我这样做是为了避免包含多个SQL查询。请注意,我试图替换的代码部分是BLOB。有什么想法吗?

编辑:如果你要对我的问题进行投票,至少要有正当的评论原因。

2 个答案:

答案 0 :(得分:1)

你问'我有一个地方,我把一块数据用作过滤器(服装范围的名称)来限制我的搜索回报。如果我没有选择特定的服装系列,我可以在该过滤器中添加什么?'

SQL有一个数据值表示“我在此字段中没有有意义的数据”:NULL。

您没有关于要过滤的服装范围的有意义信息,因此处理此问题的一种可能方法是传入NULL作为范围,然后让SQL端处理该参数{{1 }}

这是一个快速而肮脏的示例,因此您可以看到它是如何工作的:

range_variable = range_column OR range_variable IS NULL

答案 1 :(得分:0)

我想发表评论,但由于我的声誉,我不能发表评论,所以我会尽力回答这个问题。

如果您的查询结束时(无论语法是否正确):

LIMIT 0, $range

尝试类似

的内容
<?php
if(isset($_GET['range']) && is_int($_GET['range']))
    $range = ' LIMIT 0, '.$_GET['range'];
else
    $range = '';

或只是一行

<?php
$range = (isset($_GET['range']) && is_int($_GET['range'])) ? ' LIMIT 0, '.$_GET['range'] : '';

我希望我不会离开......