<html><head></head><body><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div><div>Hey Steve,</div><div><span><br></span></div><div><span>> the IN operator works off a delimited list, try
</span><span>queryByAttributes("gid", "([gid] IN ‘100,101’)", MS_MULTIPLE);. Any whitespace > is considered part of the tokens in a list.</span></div><div><span><br></span></div><div>I have tried this and it doesn't work. There's a query error because Mapserver try to add the following: <font face=""courier new", courier, monaco, monospace, sans-serif">and ("gid"'100,101')</font></div><div><br></div><div><div class="ydp8650cfb5yiv5852916423MsoNormal"><span>> This is close, it’s a logical expression but you’re comparing a number against a string. It should be </span></div><div class="ydp8650cfb5yiv5852916423MsoNormal"><span></span><div><span>> queryByAttributes("municipio", "(‘[municipio]’ LIKE 'G%')", MS_MULTIPLE);</span></div></div> 
<span> </span><br></div><div>I have tried this and it doesn't work. There's a query error because Mapserver try to add the following: <font face=""courier new", courier, monaco, monospace, sans-serif">and ("municipio"::text'G%')</font><br></div><div><br></div><div>Maybe this happens because the MS4W version (3.1.3) with Mapserver CGI 7.0.1</div><div><br></div></div><div><br></div>
            
            <div id="ydp8650cfb5yahoo_quoted_8666219793" class="ydp8650cfb5yahoo_quoted">
                <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                    
                    <div>
                        On Wednesday, October 11, 2017, 2:31:41 PM CDT, Lime, Steve D (MNIT) <steve.lime@state.mn.us> wrote:
                    </div>
                    <div><br></div>
                    <div><br></div>
                    <div><div id="ydp8650cfb5yiv5852916423"><div>
<div class="ydp8650cfb5yiv5852916423WordSection1">
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>The query syntax is given in MapServer expression syntax. I think there’s a logical expression for why you’re seeing these results:</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  queryByAttributes("gid", "gid > 100", MS_MULTIPLE) // does not found anything</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>is evaluated as gid = “gid > 100”. Valid but not what you’re looking for. Your last example is the right way to do it -
</span><span>queryByAttributes("gid", "([gid] > 100)", MS_MULTIPLE);. If MapServer sees the qstring is a logical expression then it ignores the qitem.</span><span></span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span> 
</span><span>queryByAttributes("gid", "100", MS_MULTIPLE) // found one result</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>is evaluated as gid = 100 which makes sense.</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span> 
</span><span>queryByAttributes("municipio", "'GUADALAJARA'", MS_MULTIPLE) // found one result</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>is evaluated as municipio =
</span><span>GUADALAJARA which makes sense. I don’t think you need the interior quotes around GUADALAJARA though.</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span> 
</span><span>queryByAttributes("municipio", "municipio LIKE 'G%'", MS_MULTIPLE) // does not found anything</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>like the first example this evaluates as
</span><span>municipio = "municipio LIKE 'G%'", not what you want. See below…</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span> 
</span><span>queryByAttributes("gid", "([gid] IN (100, 101))", MS_MULTIPLE); // query error</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>the IN operator works off a delimited list, try
</span><span>queryByAttributes("gid", "([gid] IN ‘100,101’)", MS_MULTIPLE);. Any whitespace is considered part of the tokens in a list.</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span> 
</span><span>queryByAttributes("municipio", "([municipio] LIKE 'G%')", MS_MULTIPLE); // query error</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>This is close, it’s a logical expression but you’re comparing a number against a string. It should be
</span><span>queryByAttributes("municipio", "(‘[municipio]’ LIKE 'G%')", MS_MULTIPLE);</span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>  </span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span>Steve</span><span></span></p> 
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:11.0pt;">  </span></p> 
<div class="ydp8650cfb5yiv5852916423yqt9770336879" id="ydp8650cfb5yiv5852916423yqt07370"><div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(225, 225, 225) currentcolor currentcolor; padding: 3pt 0in 0in;">
<p class="ydp8650cfb5yiv5852916423MsoNormal"><b><span style="font-size:11.0pt;">From:</span></b><span style="font-size:11.0pt;"> mapserver-users [mailto:mapserver-users-bounces@lists.osgeo.org]
<b>On Behalf Of </b>Carlos Ruiz<br clear="none">
<b>Sent:</b> Wednesday, October 11, 2017 1:36 PM<br clear="none">
<b>To:</b> mapserver-users@lists.osgeo.org; Sven Schroeter <schroeter@netgis.de><br clear="none">
<b>Subject:</b> Re: [mapserver-users] php Mapscript queryByAttributes</span></p> 
</div>
</div>
<p class="ydp8650cfb5yiv5852916423MsoNormal">  </p> 
<div>
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Sven,</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Doing some tests, queryByAttributes does not accept LIKE nor IN, just single values or simple operators (I am using PostGIS).</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("gid", "gid > 100", MS_MULTIPLE) // does not found anything</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("gid", "100", MS_MULTIPLE) // found one result</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("municipio", "'GUADALAJARA'", MS_MULTIPLE) // found one result</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("municipio", "municipio LIKE 'G%'", MS_MULTIPLE) // does not found anything</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("gid", "([gid] IN (100, 101))", MS_MULTIPLE); // query error</span><span style="font-size:10.0pt;"></span></p> 
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("municipio", "([municipio] LIKE 'G%')", MS_MULTIPLE); // query error</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">queryByAttributes("gid", "([gid] > 100)", MS_MULTIPLE); // found 25 results</span><span style="font-size:10.0pt;"></span></p> 
</div>
</div>
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">MS4W version is 3.1.3</span></p> 
</div>
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Try to solve it by using FILTER, which allows more complex expressions:</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;font-family:Courier;">$layer->setFilter("gid IN (100, 101)");</span><span style="font-size:10.0pt;"></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Cheers</span></p> 
</div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
</div>
</div>
<div id="ydp8650cfb5yiv5852916423ydpf5a14bdeyahoo_quoted_8561000593">
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">On Wednesday, October 11, 2017, 10:55:17 AM CDT, Sven Schroeter <<a shape="rect" href="mailto:schroeter@netgis.de" rel="nofollow" target="_blank">schroeter@netgis.de</a>> wrote:
</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Hi,</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Old Server: PHP 5.4.36 with MS 6.4.1 (MS4W)</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">New Server: PHP 5.6.31 with MS 7.0.6 (MS4W 3.2.2)</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">My Test Script:</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">$qfield = 'gid';</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">$qstring = "gid IN (1,2,3)";</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">@$datQuery = $query_layer->queryByAttributes($qfield,$qstring,MS_MULTIPLE);</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Works fine on the old Server, on the new Server no result.</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">I have tried to change the query expression, i.e.:</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">$qstring = "('[gid]' in '1,2,3')";</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">No result on old server and new...</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">How can I get it run on MS7?</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Thanks + greetings </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Sven
</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;"> </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">**************************************</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">NETGIS GbR</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Benediktinerstr. 32a</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">54292 Trier</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Tel.: 0651-1704731</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">Fax: 0651-1704733</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;"><a shape="rect" href="mailto:schroeter@netgis.de" rel="nofollow" target="_blank">schroeter@netgis.de</a></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;"><a shape="rect" href="http://www.netgis.de" rel="nofollow" target="_blank">www.netgis.de</a></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">  </span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">_______________________________________________</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;">mapserver-users mailing list</span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;"><a shape="rect" href="mailto:mapserver-users@lists.osgeo.org" rel="nofollow" target="_blank">mapserver-users@lists.osgeo.org</a></span></p> 
</div>
<div>
<p class="ydp8650cfb5yiv5852916423MsoNormal"><span style="font-size:10.0pt;"><a shape="rect" href="https://lists.osgeo.org/mailman/listinfo/mapserver-users" rel="nofollow" target="_blank">https://lists.osgeo.org/mailman/listinfo/mapserver-users</a></span></p> 
</div>
</div>
</div>
</div>
</div></div>
</div>
</div></div></div>
                </div>
            </div></div></body></html>