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'); }
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'); }
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"); }
/** * @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; }
<?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);