Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. class Database {
  2. public static $link = null ;
  3.  
  4. public static function getLink( ) {
  5. if ( self :: $link ) {
  6. return self :: $link ;
  7. }
  8.  
  9. $ini = "config.ini" ;
  10. $parse = parse_ini_file ( $ini , true ) ;
  11. $driver = $parse [ "db_driver" ] ;
  12. $dsn = "${driver}:" ;
  13. $user = $parse [ "db_user" ] ;
  14. $password = $parse [ "db_password" ] ;
  15. $options = $parse [ "db_options" ] ;
  16. $attributes = $parse [ "db_attributes" ] ;
  17.  
  18. foreach ( $parse [ "dsn" ] as $k => $v ) {
  19. $dsn .= "${k}=${v};" ;
  20. }
  21.  
  22. self :: $link = new PDO ( $dsn, $user, $password, $options ) ;
  23.  
  24. foreach ( $attributes as $k => $v ) {
  25. self :: $link -> setAttribute ( constant ( "PDO::{$k}" )
  26. , constant ( "PDO::{$v}" ) ) ;
  27. }
  28.  
  29. return self :: $link ;
  30. }
  31.  
  32. public static function __callStatic ( $name, $args ) {
  33. $callback = array ( self :: getLink ( ), $name ) ;
  34. return call_user_func_array ( $callback , $args ) ;
  35. }
  36.  
  37. db_driver=mysql
  38. db_user=username
  39. db_password=password
  40.  
  41. [dsn]
  42. host=hostname
  43. port=3306
  44. dbname=databasename
  45.  
  46. [db_options]
  47. PDO::MYSQL_ATTR_INIT_COMMAND=set names utf8
  48.  
  49. [db_attributes]
  50. ATTR_ERRMODE=ERRMODE_EXCEPTION
  51. ############
  52.  
  53. $pdo = Database::prepare("INSERT INTO customer (first_name, last_name, join_date) VALUES (?, ?, ?)");
  54. $pdo->bindParam(1, $firstName);
  55. $pdo->bindParam(2, $lastName);
  56. $pdo->bindParam(3, $currentDate);
  57. $pdo->execute();
  58. $custId = $pdo->lastInsertId();
  59. $pdo->closeCursor();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement