Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Database {
- public static $link = null ;
- public static function getLink( ) {
- if ( self :: $link ) {
- return self :: $link ;
- }
- $ini = "config.ini" ;
- $parse = parse_ini_file ( $ini , true ) ;
- $driver = $parse [ "db_driver" ] ;
- $dsn = "${driver}:" ;
- $user = $parse [ "db_user" ] ;
- $password = $parse [ "db_password" ] ;
- $options = $parse [ "db_options" ] ;
- $attributes = $parse [ "db_attributes" ] ;
- foreach ( $parse [ "dsn" ] as $k => $v ) {
- $dsn .= "${k}=${v};" ;
- }
- self :: $link = new PDO ( $dsn, $user, $password, $options ) ;
- foreach ( $attributes as $k => $v ) {
- self :: $link -> setAttribute ( constant ( "PDO::{$k}" )
- , constant ( "PDO::{$v}" ) ) ;
- }
- return self :: $link ;
- }
- public static function __callStatic ( $name, $args ) {
- $callback = array ( self :: getLink ( ), $name ) ;
- return call_user_func_array ( $callback , $args ) ;
- }
- db_driver=mysql
- db_user=username
- db_password=password
- [dsn]
- host=hostname
- port=3306
- dbname=databasename
- [db_options]
- PDO::MYSQL_ATTR_INIT_COMMAND=set names utf8
- [db_attributes]
- ATTR_ERRMODE=ERRMODE_EXCEPTION
- ############
- $pdo = Database::prepare("INSERT INTO customer (first_name, last_name, join_date) VALUES (?, ?, ?)");
- $pdo->bindParam(1, $firstName);
- $pdo->bindParam(2, $lastName);
- $pdo->bindParam(3, $currentDate);
- $pdo->execute();
- $custId = $pdo->lastInsertId();
- $pdo->closeCursor();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement