Example #1
0
 public function register($username, $passowrd)
 {
     if ($this->userExists($username)) {
         throw new \Exception("User already registered");
     }
     $result = $this->db->prepare("INSERT INTO users(username, password, gold, food) VALUES(?, ?, ?, ?)");
     $result->execute([$username, password_hash($passowrd, PASSWORD_DEFAULT), User::GOLD_DEFAULT, User::FOOD_DEFAULT]);
     if ($result->rowCount() > 0) {
         $userId = $this->db->lastId();
         $this->db->query("INSERT INTO players_buildings(user_id, building_id, level_id) SELECT {$userId}, id, 0 FROM buildings");
         return true;
     }
     throw new \Exception('Cannot register user');
 }
Example #2
0
 public function register($username, $password)
 {
     if ($this->userExists($username)) {
         throw new \Exception('Username already taken');
     }
     $registerUserQuery = "INSERT INTO users(username, password, gold, food) VALUES(?, ?, ?, ?)";
     $result = $this->database->prepare($registerUserQuery);
     $result->execute([$username, password_hash($password, PASSWORD_DEFAULT), User::GOLD_DEFAULT, User::FOOD_DEFAULT]);
     if ($result->rowCount() > 0) {
         $userId = $this->database->lastId();
         $this->database->query("\n                INSERT INTO users_buildings_levels (user_id, building_id, level_id)\n                SELECT {$userId}, id, 0\n                FROM buildings\n            ");
         $this->login($username, $password);
     }
     throw new \Exception('Unsuccessful registration');
 }
Example #3
0
 public function register($username, $password)
 {
     if ($this->userExists($username)) {
         throw new \Exception("User already registered");
     }
     $result = $this->db->prepare("\n            INSERT INTO users (id, username, password, gold, food)\n            VALUES (NULL, ?, ?, ?, ?);\n        ");
     $data = [$username, password_hash($password, PASSWORD_DEFAULT), User::GOLD_DEFAULT, User::FOOD_DEFAULT];
     $result->execute($data);
     if ($result->rowCount() > 0) {
         $userId = $this->db->lastId();
         $this->db->query("\n                INSERT INTO user_buildings (user_id, building_id, level_id)\n                SELECT {$userId}, b.id, bl.id  FROM buildings b\n                INNER JOIN (\n                    SELECT id, building_id, MIN(level) FROM building_levels\n                ) bl ON bl.building_id = b.id\n            ");
         return true;
     }
     throw new \Exception("Cannot register user");
 }
Example #4
0
 /**
  * @return null
  */
 public function flush()
 {
     $result = null;
     $columns = $this->toDBArray();
     if ($this->id) {
         $result = $this->db->update($this->getTableName(), $columns, $this->getDBColumns(), array("id" => $this->id));
         if ($this->db->affectedRows() <= 0) {
             if ($this->db->createQuery($this->getTableName())->find("`id`")->where("`id`=:id")->execute(array("id" => $this->id))->findRow() <= 0) {
                 $result = $this->db->insert($this->getTableName(), $columns, $this->getDBColumns());
                 $this->id = $this->db->lastId();
             }
         }
     } else {
         $result = $this->db->insert($this->getTableName(), $columns, $this->getDBColumns());
         $this->id = $this->db->lastId();
     }
     return $result;
 }
Example #5
0
<?php

include "database.php";
$db = new Database('test', 'root', 'root', '127.0.0.1');
$db->query('CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL,
  `data` text NOT NULL
)', array(), false);
if (($error = $db->getError()) !== null) {
    var_dump($error);
}
$db->begin();
$db->query('DELETE FROM  test WHERE id = :id', array(':id' => 2), false);
$db->query('DELETE FROM  test WHERE id = :id', array(':id' => 3), false);
$db->end();
if (($error = $db->getError()) !== null) {
    var_dump($error);
}
$db->query('insert into test (data) values (:value)', array('value' => 'xxx'), false);
if (($error = $db->getError()) !== null) {
    var_dump($error);
} else {
    echo "last id:" . $db->lastId();
}
$result = $db->query('select * from test');
var_dump($result);