コード例 #1
0
ファイル: Database.php プロジェクト: ktrzos/plethora
 /**
  * Checks if value exists in database
  *
  * @static
  * @access     public
  * @param      string $mValue
  * @param      string $sTableClass
  * @param      string $sColumn
  * @return     boolean|string
  * @since      1.0.0-alpha
  * @version    1.0.0-alpha
  */
 public static function dbKeyValidation($mValue, $sTableClass, $sColumn)
 {
     # array
     if (is_array($mValue)) {
         if (empty($mValue)) {
             return TRUE;
         }
         $mParam = [];
         foreach ($mValue as $v) {
             if ($v != "" && !array_search($v, $mParam)) {
                 $mParam[] = $v;
             }
         }
         $iDataAmount = count($mParam);
         if ($iDataAmount == 0) {
             return TRUE;
         }
     } else {
         if ($mValue == "") {
             return TRUE;
         }
         $iDataAmount = 1;
         $mParam = $mValue;
     }
     # Query
     DB::query("SELECT t.id FROM " . $sTableClass . " t WHERE t." . $sColumn . " IN (:param)")->param('param', $mParam)->execute();
     # Checking result(s)
     if (count(DB::result()) != $iDataAmount) {
         if (is_array($mValue)) {
             return __('One of the values is incompatible with data from database.');
         } else {
             return __('Value is incompatible with data from database.');
         }
     }
     return TRUE;
 }