Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Database
- {
- function __construct()
- {
- $host = 'localhost';
- $port = 3306;
- $database = 'test';
- $username = 'root';
- $password = '';
- $dsn = "mysql:host=$host;port=$port;dbname=$database";
- $this->db = new PDO($dsn, $username, $password);
- }
- function sql($sql)
- {
- $this->db->query($sql);
- }
- function select($select)
- {
- $sql = "SELECT " . (isset($select['SELECT']) ? $select['SELECT'] : "*") . " FROM ";
- if (!isset($select['FROM'])) die("FROM not set");
- if (is_array($select['FROM']))
- foreach ($select['FROM'] as $where => $whereas)
- $sql .= "$where AS $whereas, ";
- else $sql .= $select['FROM'] . " ";
- if (is_array($select['WHERE']))
- {
- $sql .= "WHERE ";
- foreach ($select['WHERE'] as $where => $squals)
- {
- $sql .= "$where = ? AND ";
- $where_ary[] = $equals;
- }
- }
- else if (isset($select['WHERE']))
- {
- $sql .= "WHERE " . $select['WHERE'] . " ";
- }
- $sql .= (isset($select['ORDER']) ? "ORDER BY " . $select['ORDER'] . " " : "") . (isset($select['LIMIT']) ? "LIMIT " . $select['LIMIT'] . " " : "");
- $statement = $this->db->prepare($sql);
- $statement->execute($where_ary);
- return $statement;
- }
- function select_row($select)
- {
- $statement = $this->select($select) or die("lol");
- while ($result = $statement->fetch())
- return $result;
- }
- function insert($insert)
- {
- $i=0;
- foreach (array_keys($insert['VALUES']) as $value)
- {
- $value_keys .= $value;
- if ($i < count($insert['VALUES'])-1) $value_keys .= ", ";
- $i++;
- }
- $values_ary = array_values($insert['VALUES']);
- $values = "?";
- for ($i=0; $i<count($insert['VALUES'])-1; $i++)
- $values .= ", ?";
- $sql = "INSERT INTO " . $insert['TABLE'] . " ($value_keys) VALUES ($values);";
- $statement = $this->db->prepare($sql);
- $statement->execute($values_ary);
- return $statement;
- }
- function update($update)
- {
- $sql = "UPDATE " . $update['TABLE'] . " SET ";
- if (is_array($update['VALUES']))
- {
- $i=0;
- foreach($update['VALUES'] as $value => $to)
- {
- $sql .= "$value = ?";
- if ($i < count($update['VALUES'])-1) $sql .= ", ";
- $update_ary[] = $to;
- $i++;
- }
- }
- else $sql .= $update['VALUES'] . " ";
- $sql .= " WHERE ";
- if (is_array($update['WHERE']))
- {
- $i=0;
- foreach($update['WHERE'] as $value => $is)
- {
- $sql .= "$value = ?";
- if ($i < count($update['WHERE'])-1) $sql .= ", ";
- $update_ary[] = $is;
- $i++;
- }
- }
- else $sql .= $update['WHERE'] . " ";
- $statement = $this->db->prepare($sql);
- $statement->execute($update_ary);
- return $statement;
- }
- function delete($delete)
- {
- $sql = "DELETE FROM " . $delete['FROM'] . " WHERE ";
- if (is_array($delete['WHERE']))
- {
- $i=0;
- foreach($delete['WHERE'] as $value => $is)
- {
- $sql .= "$value = ?";
- if ($i<count($delete['WHERE'])-1) $sql .= ", ";
- $values_ary[] = $is;
- $i++;
- }
- echo $sql . print_r($values_ary);
- $statement = $this->db->prepare($sql);
- $statement->execute($values_ary);
- return $statement;
- }
- $sql .= $delete['WHERE'];
- $this->sql($sql);
- }
- function clean($table)
- {
- $this->sql("DELETE FROM " . $table);
- }
- function drop($table)
- {
- $this->sql("DROP TABLE " . $table);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement