コード例 #1
0
ファイル: pdo.php プロジェクト: Icidus/Equipment
 public static function prepareExecute($query, $args)
 {
     $cleanArgs = array();
     if (!is_array($args)) {
         $cleanArgs = array($args);
     } else {
         foreach ($args as $arg) {
             $cleanArgs[] = $arg;
         }
     }
     $explodingBinds = array();
     foreach ($cleanArgs as $key => $arg) {
         if (is_array($arg) && count($arg) > 1) {
             $explodingBinds[$key] = count($arg);
         } else {
             if (is_array($arg)) {
                 $cleanArgs[$key] = array_key_exists(0, $arg) ? $arg[0] : NULL;
             }
         }
     }
     if (count($explodingBinds) > 0) {
         $query = self::_explodePreparedQuery($query, $explodingBinds);
         $cleanArgs = self::_flattenParams($cleanArgs);
         //Rd_Debug::out('Attempting to expand parameters...');
         //Rd_Debug::outData(array($query,$args));
     }
     $statement = self::$_connection->prepare($query);
     //			Rd_Debug::outData(array($query,$cleanArgs));
     if ($statement) {
         $statement->execute($cleanArgs);
         if ('00000' != $statement->errorCode() && Rd_Debug::isEnabled()) {
             throw new Exception('OH HI! Bad Query Detected. HERE IZ UR STACK TRACE. GO FIXZORZ ET PEWPEW!');
         }
     }
     return $statement;
 }
コード例 #2
0
ファイル: Registry.php プロジェクト: jthurteau/saf
 protected static function _get($name, $source)
 {
     if (0 == count($name)) {
         return $source;
     }
     $newSourceName = array_shift($name);
     if (is_array($source) && array_key_exists($newSourceName, $source)) {
         return self::_get($name, $source[$newSourceName]);
     } else {
         if (is_object($source) && property_exists($source, $newSourceName)) {
             return self::_get($name, $source->{$newSourceName});
         }
     }
     throw new Exception(self::$_unavailableExceptionMessage . (Rd_Debug::isEnabled() ? "({$name})" : ''));
 }