数据库操做 php
一、CREATE TABLE IF NOT EXISTS blog_user( mysql
id INT AUTO_INCREMENT PRIMARY KEY, web
NAME VARCHAR(255) NOT NULL UNIQUE, sql
PASSWORD CHAR(32) NOT NULL, 数据库
email VARCHAR(255) NOT NULL DEFAULT '' 数组
)ENGINE MYISAM DEFAULT CHARSET=utf8; 并发
二、INSERT INTO blog_user(NAME,PASSWORD) VALUES ('admin',MD5(123456)); app
三、CREATE TABLE IF NOT EXISTS blog_category( 学习
id INT AUTO_INCREMENT PRIMARY KEY, this
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;
1、操做数据库--查询
$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;
2、操做数据库--插入
$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 "无变化";
}
2、操做数据库--更新
一、配置自动加载db
\application\config\autoload.php
$autoload['libraries']=array('database');
//至关于$this->load->database();
二、经过索引数组进行数据的传入(参数绑定)
$this->load->database();
$data[0]='111';
$data[1]='123456';
$sql="insert into blog_user(name,password) values(?,md5(?));";
$bool=$this->db->query($sql,$data);
三、表前缀
//数据库配置文件 替换表前缀
//表前缀后面改了以后,能够直接改$db['default']['dbprefix'] = 'blog_';
//可是代码仍旧可用