1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
<?php
class MySQL extends PDO {
private $logins = array(
'host' => 'host',
'user' => 'rpgamer',
'pass' => '1234',
'bdd' => 'database'
);
// constructeur
public function __construct() {
parent::__construct(
"mysql:host=".$this->logins['host'].";dbname=".$this->logins['bdd'],
$this->logins['user'], $this->logins['pass']
);
}
// exécution de la requête
public function query($query) {
try {
$result = $this->query($query);
return $result;
}
catch (Exception $e) {
error_log(SharedParking::$actual_page.' - '.$query.' : '.$e->getMessage(), 0);
return FALSE;
}
}
// exécution de la requête
public function exec($query) {
try {
$result = $this->exec($query);
return $result;
}
catch (Exception $e) {
error_log(SharedParking::$actual_page.' - '.$query.' : '.$e->getMessage(), 0);
return FALSE;
}
}
// insertion de données dans MySQL
public function insert($table, $values) {
$values = array_map(array($this, 'quote'), (array)$values);
return $this->exec("INSERT INTO ".$this->quote($table)." VALUES('".implode("', '", $values)."')");
}
// sélection de données depuis MySQL
public function select($table, $small_size = FALSE, $fields, $where = '', $order = '') {
$result_size = !empty($small_size) ? 'SQL_SMALL_RESULT' : '';
$where = !empty($where) ? ' WHERE '.$where : '';
return $this->query("SELECT ".$result_size." ".implode(", ", (array)$fields)." FROM ".
$this->quote($table).$where.$order);
}
// tri des résultat d'une requête SELECT
public function order($fields, $order = 'ASC') {
$order = array_map(array($this, 'quote'), (array)$order);
if (count($fields) == count($order)) {
$set = array();
$fields = (array)$fields;
for ($i = 0; $i < count($fields); $i++) {
$set[] = $fields[$i].' '.$order[$i];
}
return " ORDER BY ".implode(", ", $set);
}
else {
return FALSE;
}
}
// limitation des résultats d'une requête SELECT
public function limit($offset, $number) {
if (is_numeric($offset) && is_numeric($number)) {
return " LIMIT ".intval($offset).", ".intval($number);
}
else {
return FALSE;
}
}
// mis à jour de données de MySQL
public function update($table, $values, $where = FALSE) {
$set = array();
foreach ((array)$values as $field => $value) {
$set[] = $field." = ".$value;
}
return $this->exec("UPDATE ".$this->quote($table)." SET ".implode(", ", $set).(!empty($where) ? " WHERE ".$where : ''));
}
// suppression de données de MySQL
public function delete($table, $where) {
return $this->exec("DELETE FROM ".$this->quote($table)." WHERE ".$where);
}
}
?> |
Partager