New file |
0,0 → 1,37 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Contient des méthodes utiles pour manipuler le SQL. |
* |
* @category CEL |
* @package Scripts |
* @subpackage Bibliotheque |
* @author Mathias CHOUET <mathias@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @author Aurelien PERONNET <aurelien@tela-botanica.org> |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org> |
*/ |
class SqlUtil { |
|
public static function extraireRequetes($contenuSql) { |
$contenuSansCommentaire = self::supprimerCommentaires($contenuSql); |
$requetesExtraites = preg_split("/;\e*\t*\r*\n/", $contenuSansCommentaire); |
if (count($requetesExtraites) == 0){ |
throw new Exception("Aucune requête n'a été trouvée dans le contenu SQL."); |
} |
|
$requetes = array(); |
foreach ($requetesExtraites as $requete) { |
if (trim($requete) != '') { |
$requetes[] = rtrim(trim($requete), ';'); |
} |
} |
return $requetes; |
} |
|
private static function supprimerCommentaires($contenuSql) { |
return preg_replace('/(## |--).*?\r*\n/', '', $contenuSql); |
} |
} |