]> git.openstreetmap.org Git - nominatim.git/commitdiff
when looking for keywords on detail page a SQL bracket error was possible
authormarc tobias <mtmail@gmx.net>
Fri, 6 Apr 2018 11:46:14 +0000 (13:46 +0200)
committermarc tobias <mtmail@gmx.net>
Fri, 6 Apr 2018 13:22:29 +0000 (15:22 +0200)
website/details.php

index 24e8cd76a2d70217b23ca9c074f24d0bd75c4392..e2a8a031e02a4c67a224bea5e7df4855b5195ce2 100755 (executable)
@@ -210,21 +210,23 @@ $aPlaceSearchNameKeywords = false;
 $aPlaceSearchAddressKeywords = false;
 if ($oParams->getBool('keywords')) {
     $sSQL = "SELECT * FROM search_name WHERE place_id = $iPlaceID";
-    $aPlaceSearchName = $oDB->getRow($sSQL);
-    if (PEAR::isError($aPlaceSearchName)) { // possible timeout
+    $aPlaceSearchName = $oDB->getRow($sSQL); // can be null
+    if (!$aPlaceSearchName || PEAR::isError($aPlaceSearchName)) { // possible timeout
         $aPlaceSearchName = [];
     }
 
-    $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['name_vector'], 1, -1).')';
-    $aPlaceSearchNameKeywords = $oDB->getAll($sSQL);
-    if (PEAR::isError($aPlaceSearchNameKeywords)) { // possible timeout
-        $aPlaceSearchNameKeywords = [];
-    }
+    if (!empty($aPlaceSearchName)) {
+        $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['name_vector'], 1, -1).')';
+        $aPlaceSearchNameKeywords = $oDB->getAll($sSQL);
+        if (PEAR::isError($aPlaceSearchNameKeywords)) { // possible timeout
+            $aPlaceSearchNameKeywords = [];
+        }
 
-    $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['nameaddress_vector'], 1, -1).')';
-    $aPlaceSearchAddressKeywords = $oDB->getAll($sSQL);
-    if (PEAR::isError($aPlaceSearchAddressKeywords)) { // possible timeout
-        $aPlaceSearchAddressKeywords = [];
+        $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['nameaddress_vector'], 1, -1).')';
+        $aPlaceSearchAddressKeywords = $oDB->getAll($sSQL);
+        if (PEAR::isError($aPlaceSearchAddressKeywords)) { // possible timeout
+            $aPlaceSearchAddressKeywords = [];
+        }
     }
 }