public static function buildSqlDescription() { /** * Récupération des caractéristiques SQL de chaque champs de chaque table */ ini_set('memory_limit', '-1'); $array = DatabaseOperation::convertSqlStatementKeyAndOneFieldToArray('SHOW TABLES'); foreach ($array as $rowsTables) { $tableName = $rowsTables[0]; $tableDescription = DatabaseOperation::convertSqlStatementWithoutKeyToArray('DESC ' . DatabaseOperation::convertNameToSqlClause($tableName)); /** * Enregistrement des caractéristiques SQL de chaque champs * Parcours de chaque champs de la table en cours d'analyse. */ foreach ($tableDescription as $rowsField) { if ($rowsField['Key'] == 'PRI') { /** * Enregistrement du l'information de la clef dans le résultat final: */ self::$resultInSession[$tableName][self::ARRAY_NAME_KEY] = $rowsField['Field']; } /** * Enregistrement du champs dans le résultat final: */ self::$resultInSession[$tableName][self::ARRAY_NAME_FIELDS][$rowsField['Field']][self::ARRAY_NAME_SQL] = $rowsField; /** * Est-ce que ce champ est une clef ? * @todo Gestion de tables multi-clefs non implémentée */ } //Fin WHILE de parcours des champs } //Fin WHILE de parcours des tables }