Advertisement
Guest User

PHP database script

a guest
Oct 5th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.56 KB | None | 0 0
  1. <?php
  2. // Naam
  3. $user = "root";
  4. $pass = "";
  5. try {
  6.    
  7.    
  8.     // PDO aanmaken voor de oude database
  9.     $dbold = new PDO('mysql:host=localhost;dbname=old', $user, $pass);
  10.    
  11.     // Alles uit Users halen
  12.     $userQuery = $dbold->prepare('SELECT * FROM users');
  13.     $userQuery->execute();
  14.     $users = $userQuery->fetchAll(PDO::FETCH_OBJ);
  15.    
  16.     // PDO aanmaken voor de nieuwe database
  17.     $dbnew = new PDO('mysql:host=localhost;dbname=new', $user, $pass);
  18.     foreach ($users as $user) {
  19.        
  20.        
  21.         // Verplaats data van de oude database naar de adres tabel van de nieuwe database
  22.         $insertAdress = $dbnew->prepare('INSERT INTO addresses (street, house_number, postcode) VALUES (:street, :house_number, :postcode)');
  23.         $insertAdress->bindParam(':street', $user->street);
  24.         $insertAdress->bindParam(':house_number', $user->house_number);
  25.         $insertAdress->bindParam(':postcode', $user->postcode);
  26.         $insertAdress->execute();
  27.        
  28.         // Uniek ID laten aanmaken met lastInsertId
  29.         $addressID = $dbnew->lastInsertId();
  30.  
  31.         // Verplaatst de data van de oude database naar de profiel tabel van de nieuwe database
  32.         $insertProfile = $dbnew->prepare('INSERT INTO profiles (first_name, last_name) VALUES (:first_name, :last_name)');
  33.        
  34.         // Door explode te gebruiken deel je de data van naam in tweeen,
  35.         $NewName = explode(" ", $user->name);
  36.         $insertProfile->bindParam(':first_name', $NewName[0]);
  37.         $insertProfile->bindParam(':last_name', $NewName[1]);
  38.         $insertProfile->execute();
  39.        
  40.         // Uniek ID laten aanmaken met lastInsertId
  41.         $profileID = $dbnew->lastInsertId();
  42.  
  43.         //Stuur rollen van gebruikers naar tabel nieuwe database
  44.         $queryRole = $dbnew->prepare('SELECT COUNT(*) FROM roles WHERE name=:name');
  45.         $queryRole->bindParam(":name", $user->role);
  46.         $queryRole->execute();
  47.         $countRole = $queryRole->fetchColumn();
  48.        
  49.         // Als rol bestaat dan gebruik je het
  50.         if ($countRole == 1) {
  51.             $selectRole = $dbnew->prepare('SELECT * FROM roles where name=:name');
  52.             $selectRole->bindParam(":name", $user->role);
  53.             $selectRole->execute();
  54.             $role = $selectRole->fetch(PDO::FETCH_OBJ);
  55.             $roleID = $role->id;
  56.            
  57.             // Als rol niet bestaat dan creëer je het
  58.         } else {
  59.             $insertRole = $dbnew->prepare('INSERT INTO roles (name) VALUES (:name)');
  60.             $insertRole->bindParam(':name', $user->role);
  61.             $insertRole->execute();
  62.             // Maak een uniek ID
  63.             $roleID = $dbnew->lastInsertId();
  64.         }
  65.  
  66.         // Gebruikers naar de nieuwe database
  67.         $insertUser = $dbnew->prepare('INSERT INTO users (email, Profile_id, Address_id, Role_id, password) VALUES (:email, :Profile_id, :Address_id, :Role_id, :password)');
  68.         $insertUser->bindParam(':email', $user->email);
  69.         $insertUser->bindParam(':password', $user->password);
  70.         $insertUser->bindParam(':Profile_id', $profileID);
  71.         $insertUser->bindParam(':Address_id', $addressID);
  72.         $insertUser->bindParam(':Role_id', $roleID);
  73.         $insertUser->execute();
  74.         $userID = $dbnew->lastInsertId();
  75.  
  76.         // Blogs pakken uit de oude database
  77.         $queryBlog = $dbold->prepare('SELECT * FROM blog WHERE Users_id=:user_id');
  78.         $queryBlog->bindParam('user_id', $userID);
  79.         $queryBlog->execute();
  80.         $blogs = $queryBlog->fetchAll(PDO::FETCH_OBJ);
  81.         foreach ($blogs as $blog) {
  82.            
  83.             // Blogs naar de nieuwe database
  84.             $insertBlogs = $dbnew->prepare('INSERT INTO blogs (title, content, User_id) VALUES (:title, :content, :User_id)');
  85.             $insertBlogs->bindParam(':title', $blog->title);
  86.             $insertBlogs->bindParam(':content', $blog->content);
  87.             $insertBlogs->bindParam(':User_id', $userID);
  88.             $insertBlogs->execute();
  89.            
  90.             // Uniek id opvragen/krijgen
  91.             $blogID = $dbnew->lastInsertId();
  92.  
  93.             }
  94.         // Comments uit de oude database
  95.         $commentQuery = $dbold->prepare('SELECT * FROM comment WHERE author=:author');
  96.         $commentQuery->bindParam(':author', $user->name);
  97.         $commentQuery->execute();
  98.         $comments = $commentQuery->fetchAll(PDO::FETCH_OBJ);
  99.         foreach ($comments as $comment) {
  100.            
  101.             // Comments naar de nieuwe database
  102.             $insertComment = $dbnew->prepare('INSERT INTO comments (text, Blog_id, User_id) VALUES (:text, :Blog_id, :User_id)');
  103.             $insertComment->bindParam(':text', $comment->text);
  104.             $insertComment->bindParam(':User_id', $userID);
  105.             $insertComment->bindParam(':Blog_id', $blogID);
  106.             $insertComment->execute();
  107.         }
  108.  
  109.         // Files uit de oude database
  110.         $fileQuery = $dbold->prepare('SELECT * from file WHERE uploaded_by=:name');
  111.         $fileQuery->bindParam(':name', $user->name);
  112.         $fileQuery->execute();
  113.         $files = $fileQuery->fetchAll(PDO::FETCH_OBJ);
  114.         foreach ($files as $file) {
  115.            
  116.             // Files naar de nieuwe database
  117.             $insertFiles = $dbnew->prepare('INSERT INTO files (filename, User_id) VALUES (:filename, :User_id)');
  118.             $insertFiles->bindParam(':filename', $file->filename);
  119.             $insertFiles->bindParam(':User_id', $userID);
  120.             $insertFiles->execute();
  121.         }
  122.  
  123.     }
  124. } catch (PDOException $error) {
  125.     print "Error!: " . $error->getMessage() . "<br/>";
  126.     die();
  127. }
  128.  
  129. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement