http://adodb.sf.netadodb 虽不算简单,但蛮实用的一个数据操作类。

解决方案 »

  1.   

    我自己用的类<?php
    //这个类完成数据库连接和操作class databaseLite{/* 初始化 */
    function databaseLite( $host='localhost' ,  $user, $pass, $db='' , $encode="UTF8")
    {
        $this->connect( $host , $user, $pass, $db , $encode );
    } /* 连接数据库  */
    function connect( $host , $user, $pass, $db='' , $encode="UTF8" ) {

    // perform a number of fatality checks, then die gracefully
    if (!function_exists( 'mysql_connect' )) {
    echo "dbconnect error<br/> check your mysql server";
    exit();
    }
    if (!($this->_resource = @mysql_connect( $host, $user, $pass ))) {
    die( 'FATAL ERROR: Connection to database server failed.' );
    }
    if ($db) {
    $this->selectDb( $db );
    }
    if( $encode!='' ){
    $version = explode( ".", mysql_get_server_info());
    if( $version[0]>4 || $version[1]>=1  ){
    $q = "set names ".$encode;
    $this->setQuery($q);
    $this->query();
    }
    }
    //prt($this);
    }/* select db  */
    function selectDb( $db )
    {
    if (!mysql_select_db($db)) {
    $mosSystemError = 3;
    echo "error select db failed";
    exit();
    }     
    } function setQuery( $sql) {
        $sql = trim( $sql );
    $this->_sql = $sql;
    }function query() {
    $this->_cursor = mysql_query( $this->_sql, $this->_resource );
    if (!$this->_cursor) {
    echo mysql_errno( $this->_resource );
    echo mysql_error( $this->_resource )." SQL=   $this->_sql  ";
    return false;
    }
    return $this->_cursor;
    }//end funcfunction loadResult() {
    if (!($cur = $this->query())) {
    return null;
    }
    $ret = null;
    if ($row = mysql_fetch_row( $cur )) {
    $ret = $row[0];
    }
    mysql_free_result( $cur );
    return $ret;
    }/**
    * @return The first row of the query.
    */
    function loadRow( $assoc = false ) {
    if (!($cur = $this->query())) {
    return null;
    }
    $ret = null;
    if($assoc){
    if ($row = mysql_fetch_assoc( $cur )) {
    $ret = $row;
    }
    }else{
    if ($row = mysql_fetch_row( $cur )) {
    $ret = $row;
    }
    }
    mysql_free_result( $cur );
    return $ret;
    }function loadRowList( $indexKey='',$valueKey='') {
    if (!($cur = $this->query())) {
    return null;
    }
    $array = array();
    if ($indexKey) {
    while ($row = mysql_fetch_assoc( $cur )) {
    $array[$row[$indexKey]] = $row;
    }     
    }else{
    while ($row = mysql_fetch_row( $cur )) {
    $array[] = $row;
    }
    }
    mysql_free_result( $cur );
    return $array;
    }
    /**
    * Load a assoc list of database rows
    * @param string The field name of a primary key
    * @return array If <var>key</var> is empty as sequential list of returned records.
    */
    function loadAssocList( $key='' ) {
    if (!($cur = $this->query())) {
    return null;
    }
    $array = array();
    while ($row = mysql_fetch_assoc( $cur )) {
    if ($key) {
    $array[$row[$key]] = $row;
    } else {
    $array[] = $row;
    }
    }
    mysql_free_result( $cur );
    return $array;
    }//end func/**
    * Load an array of single field results into an array
    */
    function loadResultList( $numinarray = 0 ,$indexKey='',$valueKey='') {
    if (!($cur = $this->query())) {
    return null;
    }
    $array = array();
    /* 生成数组的key */
    if ($indexKey && $valueKey) {
    while ($row = mysql_fetch_assoc( $cur )) {
    $array[$row[$indexKey]] = $row[$valueKey];
    }
    }else{
    while ($row = mysql_fetch_row( $cur )) {
    $array[] = $row[$numinarray];
    }
    }
    mysql_free_result( $cur );
    return $array;
    }
    }//end class?>
      

  2.   

    随便找个论坛都带有啊。
    我就是一开始就用类了。搞得现在对mysql函数都不熟。—_____—