连接数据库时,处理数据用原生态的PHP函数???NO,我们用phplib里的DB类,它文件小、加载速度快而备受人们喜爱。
copy一个目录表:
web(站点根目录)
|-----libs(Smarty相关文档目录)
| |----plugins(Smarty插件目录)
| |-----Cofig_File.class.php(Smarty配置文件)
| |-----Smarty.class.php(Smarty类主文件)
| |-----Smarty_Compiler.class.php(Smarty便宜类文件)
| |-----db_mysql.inc.php(phplib中的DB类)
| |-----csub.inc.php(一个截取中文的函数)
db_mysql_inc.php,在phplib中的文件名是db_mysql.inc,inc文件在默认情况下直接在浏览器中显示,为了安全,我们将其
扩展名改为php。下面是的他成员变量和成员函数
$Host:主机名 ,$Databse ,$User ,$Password
成员函数:connect($Database='',$Host='',$User='',$Password='');建立连接,返回连接ID
query():进行查询,返回查询ID
free():释放当前查询ID资源
next_record():返回下一条返回集
num_rows():当前查询号中的数据行数
f($name):当前字段的值
下面具体使用db类,贴段代码
//基本的函数不引入了 include_once('./libs/db_mysql.inc.php')//包含数据库操作类 include_once('./libs/csubstr.inc'); //连接数据库 $db = new DB_Sql();//实例化一个DB类 $db->Host = "localhost"; $db->Database = 'news'; $db->User = 'root'; $db->Password = ''; //定义每次显示的条数 define('NUM',5); $db->connect();//进行数据库连接 $query = 'select * from news_test '; $db->query($query); $i = NUM; while($db->next_record()&&$i>0){ $array[] = array('id'=>csubstr($db->f('id')), 'title'=>csubstr($db->f('title')) ); $i--; } $smarty->assign('News',$array); unset($array); $db->free();//释放当前的查询返回资源