PHP5 PDO Singleton Class
http://tonylandis.com/php/php5-pdo-singleton-class/<br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li>$dbObj =& new sdb("mysql:host=localhost;dbname=testdb", 'username', 'password');</li></ol></div><br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li><span style="color:#000000;"><span style="color:#0000CC;"><</span><span style="color:#0000CC;">?</span><span style="color:#0000FF;">php</span><br></span></li><li><br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* PDO SINGLETON CLASS<br></li><li>
*<br></li><li>
* @author Tony Landis<br></li><li>
* @link http://www.tonylandis.com<br></li><li>
* @license Use how you like it, just please don't remove or alter this PHPDoc<br></li><li>
*/ <br></li><li>
<span style="color:#0000FF;">class</span> sdb <br></li><li>
<span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* The singleton instance<br></li><li>
* <br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">static</span> <span style="color:#0000FF;">private</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">;</span> <br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Creates a PDO instance representing a connection to a database and makes the instance available as a singleton<br></li><li>
* <br></li><li>
* @param string $dsn The full DSN, eg: mysql:host=localhost;dbname=testdb<br></li><li>
* @param string $username The user name for the DSN string. This parameter is optional for some PDO drivers.<br></li><li>
* @param string $password The password for the DSN string. This parameter is optional for some PDO drivers.<br></li><li>
* @param array $driver_options A key=>value array of driver-specific connection options<br></li><li>
* <br></li><li>
* @return PDO<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> __construct<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">dsn</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">username</span><span style="color:#0000CC;">=</span><span style="color:#0000FF;">false</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">password</span><span style="color:#0000CC;">=</span><span style="color:#0000FF;">false</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">=</span><span style="color:#0000FF;">false</span><span style="color:#0000CC;">)</span> <br></li><li>
<span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">if</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">!</span>self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span> <br></li><li>
<span style="color:#0000FF;">try</span> <span style="color:#0000CC;">{</span><br></li><li>
self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span> <span style="color:#0000CC;">=</span> <span style="color:#0000FF;">new</span> PDO<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">dsn</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">username</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">password</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span> <span style="color:#0000FF;">catch</span> <span style="color:#0000CC;">(</span>PDOException <span style="color:#0000FF;">$</span><span style="color:#008080;">e</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span> <br></li><li>
<span style="color:#FF0000;">die</span><span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"PDO CONNECTION ERROR: "</span> <span style="color:#0000CC;">.</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">e</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>getMessage<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">.</span> <span style="color:#FF00FF;">"<br/>"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">;</span> <br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Initiates a transaction<br></li><li>
*<br></li><li>
* @return bool<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> beginTransaction<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>beginTransaction<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Commits a transaction<br></li><li>
*<br></li><li>
* @return bool<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> commit<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>commit<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Fetch the SQLSTATE associated with the last operation on the database handle<br></li><li>
* <br></li><li>
* @return string <br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> errorCode<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>errorCode<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Fetch extended error information associated with the last operation on the database handle<br></li><li>
*<br></li><li>
* @return array<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> errorInfo<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>errorInfo<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Execute an SQL statement and return the number of affected rows<br></li><li>
*<br></li><li>
* @param string $statement<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> <span style="color:#FF0000;">exec</span><span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span><span style="color:#FF0000;">exec</span><span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Retrieve a database connection attribute<br></li><li>
*<br></li><li>
* @param int $attribute<br></li><li>
* @return mixed<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> getAttribute<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">attribute</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>getAttribute<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">attribute</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Return an array of available PDO drivers<br></li><li>
*<br></li><li>
* @return array<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> getAvailableDrivers<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> Self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>getAvailableDrivers<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Returns the ID of the last inserted row or sequence value<br></li><li>
*<br></li><li>
* @param string $name Name of the sequence object from which the ID should be returned.<br></li><li>
* @return string<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> lastInsertId<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">name</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>lastInsertId<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">name</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Prepares a statement for execution and returns a statement object <br></li><li>
*<br></li><li>
* @param string $statement A valid SQL statement for the target database server<br></li><li>
* @param array $driver_options Array of one or more key=>value pairs to set attribute values for the PDOStatement obj <br></li><li>
returned<br></li><li>
* @return PDOStatement<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> prepare <span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">=</span><span style="color:#0000FF;">false</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">if</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">!</span><span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">)</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">=</span><span style="color:#FF0000;">array</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>prepare<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">driver_options</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Executes an SQL statement, returning a result set as a PDOStatement object<br></li><li>
*<br></li><li>
* @param string $statement<br></li><li>
* @return PDOStatement<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> query<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>query<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Execute query and return all rows in assoc array<br></li><li>
*<br></li><li>
* @param string $statement<br></li><li>
* @return array<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> queryFetchAllAssoc<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>query<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>fetchAll<span style="color:#0000CC;">(</span>PDO<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>FETCH_ASSOC<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Execute query and return one row in assoc array<br></li><li>
*<br></li><li>
* @param string $statement<br></li><li>
* @return array<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> queryFetchRowAssoc<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>query<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>fetch<span style="color:#0000CC;">(</span>PDO<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>FETCH_ASSOC<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span> <br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Execute query and select one column only <br></li><li>
*<br></li><li>
* @param string $statement<br></li><li>
* @return mixed<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> queryFetchColAssoc<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>query<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">statement</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>fetchColumn<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span> <br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Quotes a string for use in a query<br></li><li>
*<br></li><li>
* @param string $input<br></li><li>
* @param int $parameter_type<br></li><li>
* @return string<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> quote <span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">input</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">parameter_type</span><span style="color:#0000CC;">=</span>0<span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>quote<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">input</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">parameter_type</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Rolls back a transaction<br></li><li>
*<br></li><li>
* @return bool<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> rollBack<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>rollBack<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span> <br></li><li>
<br></li><li>
<span style="color:#FF9900;">/**<br></span></li><li>
* Set an attribute<br></li><li>
*<br></li><li>
* @param int $attribute<br></li><li>
* @param mixed $value<br></li><li>
* @return bool<br></li><li>
*/<br></li><li>
<span style="color:#0000FF;">public</span> <span style="color:#0000FF;">function</span> setAttribute<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">attribute</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">value</span><span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span><br></li><li>
<span style="color:#0000FF;">return</span> self<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span><span style="color:#0000FF;">$</span><span style="color:#008080;">PDOInstance</span><span style="color:#0000CC;">-</span><span style="color:#0000CC;">></span>setAttribute<span style="color:#0000CC;">(</span><span style="color:#0000FF;">$</span><span style="color:#008080;">attribute</span><span style="color:#0000CC;">,</span> <span style="color:#0000FF;">$</span><span style="color:#008080;">value</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<span style="color:#0000CC;">?</span><span style="color:#0000CC;">></span></li></ol></div>
页:
[1]