Bläddra i källkod

Ticket #270 - minor fixes.

AntonLV 10 år sedan
förälder
incheckning
71f216d5b6
2 ändrade filer med 20 tillägg och 9 borttagningar
  1. 18 6
      inc/classes/BxDolDb.php
  2. 2 3
      studio/classes/BxDolStudioBuilderPageQuery.php

+ 18 - 6
inc/classes/BxDolDb.php

@@ -230,8 +230,12 @@ class BxDolDb extends BxDol implements iBxDolSingleton
         if(!in_array($iFetchType, array(PDO::FETCH_NUM, PDO::FETCH_ASSOC, PDO::FETCH_BOTH)))
             $iFetchType = $this->_iPdoFetchType;
 
-        if($this->res($oStatement, $aBindings))
-            $aResult = $oStatement->fetch($iFetchType);
+        if(!$this->res($oStatement, $aBindings))
+        	return array();
+
+		$aResult = $oStatement->fetch($iFetchType);
+		if($aResult === false)
+        	return array();
 
         return $aResult;
     }
@@ -247,8 +251,12 @@ class BxDolDb extends BxDol implements iBxDolSingleton
 		else if(!($oStatement instanceof PDOStatement) && is_string($oStatement))
 			$oStatement = $this->prepare($oStatement);
 
-        if($this->res($oStatement, $aBindings))
-			$aResult = $oStatement->fetchAll(PDO::FETCH_COLUMN, $iFetchColumnNumber);
+        if(!$this->res($oStatement, $aBindings))
+        	return array();
+
+		$aResult = $oStatement->fetchAll(PDO::FETCH_COLUMN, $iFetchColumnNumber);
+		if($aResult === false)
+        	return array();
 
         return $aResult;
     }
@@ -311,8 +319,12 @@ class BxDolDb extends BxDol implements iBxDolSingleton
         if(!in_array($iFetchType, array(PDO::FETCH_NUM, PDO::FETCH_ASSOC, PDO::FETCH_BOTH)))
             $iFetchType = $this->_iPdoFetchType;
 
-        if($this->res($oStatement, $aBindings))
-        	$aResult = $oStatement->fetchAll($iFetchType);
+        if(!$this->res($oStatement, $aBindings))
+        	return array();
+
+		$aResult = $oStatement->fetchAll($iFetchType);
+		if($aResult === false)
+        	return array();
 
         return $aResult;
     }

+ 2 - 3
studio/classes/BxDolStudioBuilderPageQuery.php

@@ -253,8 +253,7 @@ class BxDolStudioBuilderPageQuery extends BxDolStudioPageQuery
                 break;
 
             case 'by_ids':
-                $sWhereClause = "AND `tpb`.`id` IN ('" . implode("','", array_fill(0, count($aParams['value']), '?')) . "')";
-                $sWhereClause = call_user_func_array(array($this, 'prepare'), array_merge(array($sWhereClause), $aParams['value']));
+                $sWhereClause = "AND `tpb`.`id` IN (" . $this->implode_escape($aParams['value']) . ")";
                 break;
 
             case 'by_object':
@@ -262,7 +261,7 @@ class BxDolStudioBuilderPageQuery extends BxDolStudioPageQuery
                 	'object' => $aParams['value']
                 );
 
-                $sWhereClause = "AND `tpb`.`object`=?";
+                $sWhereClause = "AND `tpb`.`object`=:object";
                 break;
 
             case 'by_object_cell':