$v){ $matches[$k] = str_replace('`','',$v); } $databaseName = $matches[0]; $tableName = $matches[1]; // 表名做处理 $tmptableName = explode('_', $tableName); $tablePrefix = ''; $sqlTableNumPoint = 1; // 出现数字的点位 foreach ($tmptableName as $k => $v){ if(!is_numeric($v)){ $tablePrefix .= $v.'_'; $sqlTableNumPoint +=1; } } $allTableName = AllTableNameCache::getAllTableNameByDatabaseName($databaseName); // 开始执行sql $objDCustomer = new DCustomer($this->serviceDB); foreach ($allTableName as $key => $value){ if(strpos($value, $tablePrefix) !== false){ $execTableName = explode('_', $value); $execTableNumPoint = 1; // 出现数字的点位 foreach ($execTableName as $k => $v){ if(!is_numeric($v)){ $execTableNumPoint +=1; } } if($execTableNumPoint != $sqlTableNumPoint){ continue; } $newsql = str_replace("`{$databaseName}`.`{$tableName}`","`{$databaseName}`.`{$value}`", $sql); $dbResult = $objDCustomer->query($newsql); if($dbResult == false){ echo $objDCustomer->error().PHP_EOL; //exit(); continue; } } } echo "当前sql执行执行完成了".PHP_EOL; } }