Open only one DB connection per PHP call
This commit is contained in:
parent
e270333055
commit
7fc7a002e3
6 changed files with 34 additions and 84 deletions
|
|
@ -21,7 +21,7 @@ class Exercice
|
|||
|
||||
if (!empty($id))
|
||||
{
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
|
||||
$db->escape($id);
|
||||
$res = $db->unique_query("SELECT `id`, `id_theme`, `require`, `level`,
|
||||
|
|
@ -49,8 +49,6 @@ class Exercice
|
|||
FROM exercice_keys
|
||||
WHERE id_exercice = '$id'");
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
if (!empty($theme))
|
||||
{
|
||||
if ($res['id_theme'] == $theme->get_id())
|
||||
|
|
@ -72,7 +70,6 @@ class Exercice
|
|||
}
|
||||
else
|
||||
{
|
||||
$db->deconnexion();
|
||||
throw new ExerciceNotFoundException();
|
||||
}
|
||||
}
|
||||
|
|
@ -119,14 +116,12 @@ class Exercice
|
|||
{
|
||||
$id = $this->id;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($id);
|
||||
$res = $db->query("SELECT `id_team`, `time` FROM solved
|
||||
WHERE id_exercice = '$id'
|
||||
ORDER BY time");
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
|
@ -137,12 +132,11 @@ class Exercice
|
|||
|
||||
$req = $this->require;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($req);
|
||||
$res = $db->unique_query("SELECT `id` FROM solved
|
||||
WHERE id_team = '".intval($team->id)."'
|
||||
AND id_exercice = '$req'");
|
||||
$db->deconnexion();
|
||||
if (empty($res))
|
||||
return 0;
|
||||
return 1;
|
||||
|
|
@ -152,13 +146,11 @@ class Exercice
|
|||
{
|
||||
$id = $this->id;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($id);
|
||||
$res = $db->unique_query("SELECT `time` FROM solved WHERE id_exercice = '$id'
|
||||
AND id_team = ".intval($team->get_id()));
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
return $res["time"];
|
||||
}
|
||||
|
||||
|
|
@ -166,13 +158,11 @@ class Exercice
|
|||
{
|
||||
$id = $this->id;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($id);
|
||||
$res = $db->unique_query("SELECT `time` FROM exercice_tries WHERE id_exercice = '$id'
|
||||
AND id_team = ".intval($team->get_id())." ORDER BY time DESC LIMIT 1");
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
if (!empty($res))
|
||||
return $res["time"];
|
||||
else
|
||||
|
|
@ -185,7 +175,7 @@ class Exercice
|
|||
$this->number = 1;
|
||||
else
|
||||
{
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
|
||||
$exo = $this->id;
|
||||
$ret = 0;
|
||||
|
|
@ -202,8 +192,6 @@ class Exercice
|
|||
} while ($exo != "" && !in_array($exo, $checked));
|
||||
|
||||
$this->number = $ret;
|
||||
|
||||
$db->deconnexion();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -219,7 +207,7 @@ class Exercice
|
|||
$files = $this->files;
|
||||
$keys = $this->keys;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($id);
|
||||
$db->escape($theme);
|
||||
$db->escape($require);
|
||||
|
|
@ -298,8 +286,6 @@ class Exercice
|
|||
}
|
||||
}
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
//FIXME
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -313,10 +299,9 @@ class Exercice
|
|||
{
|
||||
$id = $this->id;
|
||||
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$db->escape($id);
|
||||
$db->query("DELETE FROM exercice_keys WHERE id_exercice = '$id'");
|
||||
$db->deconnexion();
|
||||
|
||||
$this->keys = array();
|
||||
}
|
||||
|
|
@ -347,19 +332,17 @@ class Exercice
|
|||
|
||||
public static function get_nb_exo_max()
|
||||
{
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
$res = $db->unique_query("SELECT count(id) AS max FROM exercices
|
||||
GROUP BY id_theme
|
||||
ORDER BY max DESC
|
||||
LIMIT 1");
|
||||
$db->deconnexion();
|
||||
|
||||
return $res['max'];
|
||||
}
|
||||
|
||||
public function first_to_solve_exercice()
|
||||
{
|
||||
$db = new BDD();
|
||||
global $db;
|
||||
|
||||
$id = $this->id;
|
||||
$db->escape($id);
|
||||
|
|
@ -373,8 +356,6 @@ class Exercice
|
|||
) AS t2
|
||||
INNER JOIN teams AS t3 ON t1.id_team = t3.id
|
||||
WHERE t1.time = t2.minTime");
|
||||
$db->deconnexion();
|
||||
|
||||
return $res['result'];
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue