數據庫操做 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_';
//可是代碼仍舊可用