예제 #1
0
 /**
  * Fügt einen neuen User der Person hinzu.
  * @param string $username
  * @param string $password
  * @param string $surname
  * @param string $name
  * @param string $mail
  * @return array|false|null
  */
 public function insert(string $username, string $password, string $surname, string $name, string $mail)
 {
     $loginModel = new LoginModel();
     $user = $loginModel->load($username);
     //User already exists
     if ($user != null) {
         return false;
     }
     $connection = Database::getConnection();
     $hashedPassword = password_hash($password, PASSWORD_BCRYPT);
     $query = "INSERT INTO person(username, password, surname, name, mail) VALUES(?, ?, ?, ?, ?); SELECT SCOPE_IDENTITY() as ID;";
     //Execute Query
     $stmt = sqlsrv_query($connection, $query, array($username, $hashedPassword, $surname, $name, $mail));
     if (sqlsrv_errors()) {
         http_response_code(500);
     }
     //Select next Result (SCOPE_IDENTITY)
     sqlsrv_next_result($stmt);
     $res = sqlsrv_fetch_array($stmt);
     //Load inserted Row
     $query = 'SELECT * FROM person WHERE id_person = ' . $res['ID'];
     $stmt = sqlsrv_query($connection, $query);
     return sqlsrv_fetch_array($stmt);
 }