Een default waarde in de database zal inderdaad al helpen.
Verder moet $groups als variable ook worden gevuld anders krijg je daar ook een error op.
Daarnaast moet hij dan ook wel in de query voorkomen. Dus dan zou het zoiets moeten zijn:
$groups = 1;
$query = "INSERT INTO ".TBL_USERS." SET username = :username, password = :password, usersalt = :usersalt, userid = 0, userlevel = $ulevel, email = :email, timestamp = $time, actkey = :token, ip = '$userip', regdate = $time, groups=:groups";
$stmt = $this->connection->prepare($query);
if ($stmt->execute(array(':username' => $username, ':password' => $password, ':usersalt' => $usersalt, ':email' => $email, ':token' => $token, ':groups' => $groups))) {
$items = array(':user' => $this->getLastUserRegisteredId());
$this->query("INSERT INTO ".TBL_INFO." SET uid = :user", $items);
$this->query("INSERT INTO ".TBL_TIME." SET uid = :user", $items);
return true;