数据库操作
1、CREATE TABLE IF NOT EXISTS blog_user(
id INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(255) NOT NULL UNIQUE,
PASSWORD CHAR(32) NOT NULL,
email VARCHAR(255) NOT NULL DEFAULT ''
)ENGINE MYISAM DEFAULT CHARSET=utf8;
2、INSERT INTO blog_user(NAME,PASSWORD) VALUES ('admin',MD5(123456));
3、CREATE TABLE IF NOT EXISTS blog_category(
id INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(255) NOT NULL,
title VARCHAR(255) NOT NULL,
pid INT DEFAULT 0,
path VARCHAR(255) DEFAULT 'df'
)ENGINE MYISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;
一、操作数据库--查询
$this->database();
//装载数据库类 装载完成后 产生db 超级对象的属性中。
//默认属性名是db
$sql="select * from blog_user;";
$res=$this->db->query($sql); //mysql_query();
//res 是一个对象 提供result()方法,返回结果
$users=$res->result();
//users是一个数组下的对象
$users=$res->result_array();
//返回的是数组 数组中是关联数组(二维数组)
$users=$res->row();
//返回的第一条记录,直接是一个对象
$users=$res->row_array();
//返回第一条记录的数组
echo $user[0]->name;
二、操作数据库--插入
$this->load->database();
$sql="insert into blog_user(name,password) values('pttbird',md5('123456'));";
$bool=$this->db->query($sql);
if($bool){
//mysql_affected_rows;
echo "受影响的行数是".$this->db->affected_rows();
//affected_rows()返回受影响的字段数
echo "自增id是".$this->db->insert_id();
//返回自增的id
}else{
echo "无变化";
}
二、操作数据库--更新
1、配置自动加载db
\application\config\autoload.php
$autoload['libraries']=array('database');
//相当于$this->load->database();
2、通过索引数组进行数据的传入(参数绑定)
$this->load->database();
$data[0]='111';
$data[1]='123456';
$sql="insert into blog_user(name,password) values(?,md5(?));";
$bool=$this->db->query($sql,$data);
3、表前缀
//数据库配置文件 替换表前缀
//表前缀后面改了之后,可以直接改$db['default']['dbprefix'] = 'blog_';
//但是代码仍旧可用