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), "'");
 | 
						|
	}
 | 
						|
}
 |