You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| class LtDbConnectionAdapterPdo implements LtDbConnectionAdapter
 | |
| {
 | |
| 	public function connect($connConf)
 | |
| 	{
 | |
| 		// $option = array(PDO::ATTR_PERSISTENT => true);
 | |
| 		if (isset($connConf['pconnect']) && true == $connConf['pconnect'])
 | |
| 		{
 | |
| 			$option[PDO::ATTR_PERSISTENT] = true;
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			$option[PDO::ATTR_PERSISTENT] = false;
 | |
| 		}
 | |
| 		switch ($connConf['adapter'])
 | |
| 		{
 | |
| 			case "pdo_mysql":
 | |
| 				$dsn = "mysql:host={$connConf['host']};dbname={$connConf['dbname']}";
 | |
| 				break;
 | |
| 			case "pdo_sqlite":
 | |
| 				$connConf["host"] = rtrim($connConf["host"], '\\/') . DIRECTORY_SEPARATOR;
 | |
| 				if (!is_dir($connConf["host"]))
 | |
| 				{
 | |
| 					if (!@mkdir($connConf["host"], 0777, true))
 | |
| 					{
 | |
| 						trigger_error("Can not create {$connConf['host']}");
 | |
| 					}
 | |
| 				}
 | |
| 				$dsn = "{$connConf['sqlite_version']}:{$connConf['host']}{$connConf['dbname']}";
 | |
| 				break;
 | |
| 			case "pdo_pgsql":
 | |
| 				$dsn = "pgsql:host={$connConf['host']} port={$connConf['port']} dbname={$connConf['dbname']} user={$connConf['username']} password={$connConf['password']}";
 | |
| 				break;
 | |
| 			case "odbc":
 | |
| 				$dsn = "odbc:" . $connConf["host"];
 | |
| 				break;
 | |
| 		}
 | |
| 		return new PDO($dsn, $connConf['username'], $connConf['password'], $option);
 | |
| 	}
 | |
| 
 | |
| 	public function exec($sql, $connResource)
 | |
| 	{
 | |
| 		return $connResource->exec($sql);
 | |
| 	}
 | |
| 
 | |
| 	public function query($sql, $connResource)
 | |
| 	{
 | |
| 		return $connResource->query($sql)->fetchAll(PDO::FETCH_ASSOC);
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * 
 | |
| 	 * @todo pgsql support
 | |
| 	 */
 | |
| 	public function lastInsertId($connResource)
 | |
| 	{
 | |
| 		return $connResource->lastInsertId();
 | |
| 	}
 | |
| 
 | |
| 	public function escape($sql, $connResource)
 | |
| 	{ 
 | |
| 		// quote返回值带最前面和最后面的单引号, 这里去掉, DbHandler中加
 | |
| 		return trim($connResource->quote($sql), "'");
 | |
| 	}
 | |
| }
 |