Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Naam
- $user = "root";
- $pass = "";
- try {
- // PDO aanmaken voor de oude database
- $dbold = new PDO('mysql:host=localhost;dbname=old', $user, $pass);
- // Alles uit Users halen
- $userQuery = $dbold->prepare('SELECT * FROM users');
- $userQuery->execute();
- $users = $userQuery->fetchAll(PDO::FETCH_OBJ);
- // PDO aanmaken voor de nieuwe database
- $dbnew = new PDO('mysql:host=localhost;dbname=new', $user, $pass);
- foreach ($users as $user) {
- // Verplaats data van de oude database naar de adres tabel van de nieuwe database
- $insertAdress = $dbnew->prepare('INSERT INTO addresses (street, house_number, postcode) VALUES (:street, :house_number, :postcode)');
- $insertAdress->bindParam(':street', $user->street);
- $insertAdress->bindParam(':house_number', $user->house_number);
- $insertAdress->bindParam(':postcode', $user->postcode);
- $insertAdress->execute();
- // Uniek ID laten aanmaken met lastInsertId
- $addressID = $dbnew->lastInsertId();
- // Verplaatst de data van de oude database naar de profiel tabel van de nieuwe database
- $insertProfile = $dbnew->prepare('INSERT INTO profiles (first_name, last_name) VALUES (:first_name, :last_name)');
- // Door explode te gebruiken deel je de data van naam in tweeen,
- $NewName = explode(" ", $user->name);
- $insertProfile->bindParam(':first_name', $NewName[0]);
- $insertProfile->bindParam(':last_name', $NewName[1]);
- $insertProfile->execute();
- // Uniek ID laten aanmaken met lastInsertId
- $profileID = $dbnew->lastInsertId();
- //Stuur rollen van gebruikers naar tabel nieuwe database
- $queryRole = $dbnew->prepare('SELECT COUNT(*) FROM roles WHERE name=:name');
- $queryRole->bindParam(":name", $user->role);
- $queryRole->execute();
- $countRole = $queryRole->fetchColumn();
- // Als rol bestaat dan gebruik je het
- if ($countRole == 1) {
- $selectRole = $dbnew->prepare('SELECT * FROM roles where name=:name');
- $selectRole->bindParam(":name", $user->role);
- $selectRole->execute();
- $role = $selectRole->fetch(PDO::FETCH_OBJ);
- $roleID = $role->id;
- // Als rol niet bestaat dan creëer je het
- } else {
- $insertRole = $dbnew->prepare('INSERT INTO roles (name) VALUES (:name)');
- $insertRole->bindParam(':name', $user->role);
- $insertRole->execute();
- // Maak een uniek ID
- $roleID = $dbnew->lastInsertId();
- }
- // Gebruikers naar de nieuwe database
- $insertUser = $dbnew->prepare('INSERT INTO users (email, Profile_id, Address_id, Role_id, password) VALUES (:email, :Profile_id, :Address_id, :Role_id, :password)');
- $insertUser->bindParam(':email', $user->email);
- $insertUser->bindParam(':password', $user->password);
- $insertUser->bindParam(':Profile_id', $profileID);
- $insertUser->bindParam(':Address_id', $addressID);
- $insertUser->bindParam(':Role_id', $roleID);
- $insertUser->execute();
- $userID = $dbnew->lastInsertId();
- // Blogs pakken uit de oude database
- $queryBlog = $dbold->prepare('SELECT * FROM blog WHERE Users_id=:user_id');
- $queryBlog->bindParam('user_id', $userID);
- $queryBlog->execute();
- $blogs = $queryBlog->fetchAll(PDO::FETCH_OBJ);
- foreach ($blogs as $blog) {
- // Blogs naar de nieuwe database
- $insertBlogs = $dbnew->prepare('INSERT INTO blogs (title, content, User_id) VALUES (:title, :content, :User_id)');
- $insertBlogs->bindParam(':title', $blog->title);
- $insertBlogs->bindParam(':content', $blog->content);
- $insertBlogs->bindParam(':User_id', $userID);
- $insertBlogs->execute();
- // Uniek id opvragen/krijgen
- $blogID = $dbnew->lastInsertId();
- }
- // Comments uit de oude database
- $commentQuery = $dbold->prepare('SELECT * FROM comment WHERE author=:author');
- $commentQuery->bindParam(':author', $user->name);
- $commentQuery->execute();
- $comments = $commentQuery->fetchAll(PDO::FETCH_OBJ);
- foreach ($comments as $comment) {
- // Comments naar de nieuwe database
- $insertComment = $dbnew->prepare('INSERT INTO comments (text, Blog_id, User_id) VALUES (:text, :Blog_id, :User_id)');
- $insertComment->bindParam(':text', $comment->text);
- $insertComment->bindParam(':User_id', $userID);
- $insertComment->bindParam(':Blog_id', $blogID);
- $insertComment->execute();
- }
- // Files uit de oude database
- $fileQuery = $dbold->prepare('SELECT * from file WHERE uploaded_by=:name');
- $fileQuery->bindParam(':name', $user->name);
- $fileQuery->execute();
- $files = $fileQuery->fetchAll(PDO::FETCH_OBJ);
- foreach ($files as $file) {
- // Files naar de nieuwe database
- $insertFiles = $dbnew->prepare('INSERT INTO files (filename, User_id) VALUES (:filename, :User_id)');
- $insertFiles->bindParam(':filename', $file->filename);
- $insertFiles->bindParam(':User_id', $userID);
- $insertFiles->execute();
- }
- }
- } catch (PDOException $error) {
- print "Error!: " . $error->getMessage() . "<br/>";
- die();
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement