第一步 加载数据库
$this->load->database();
插入数据
标准插入
$sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();
使用查询构造器插入数据
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
//
// 生成这样的SQL代码:
// INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
//
$this->db->insert('mytable', $data);
查询辅助函数
- 返回刚插入的id
$this->db->insert_id()
- 返回受影响的行数
$this->db->affected_rows()
- 返回上一次执行的查询语句(是查询语句,不是结果)。 举例:
$str = $this->db->last_query();
// Produces: SELECT * FROM sometable....
- 用于获取数据表的总行数,第一个参数为表名,例如:
echo $this->db->count_all('my_table');
// Produces an integer, like 25
- 输出你正在使用的数据库平台(MySQL,MS SQL,Postgres 等):
echo $this->db->platform();
- 输出你正在使用的数据库版本:
echo $this->db->version();
简单查询行数
//连接数据库
$this->load->database();
$num = $this->db->query("SELECT * FROM ".$this->db->dbprefix('api_wowo_2'))->num_rows();
简单增删改查方法:
增
//insert
//语法:$bool=$this->db->insert('表名',关联数组);
$data=array(
'username'=>'mary',
'password'=>'mary',//建立一个用户名叫mary,密码为mary的数组,并传递给变量$data
);
$bool=$this->db->insert('user',$data);//将$data插入数据库的user表中
var_dump($bool);//成功则返回TURE
删
//delete
//语法:$bool=$this->db->delete('表名',WHERE条件);
$bool=$this->db->delete('user',array('id'=>3));//删除数据库.user表里id=3的用户所有信息
var_dump($bool);//成功则返回TURE
改
//update
$data=array(
'password'=>12345,
);
$bool=$this->db->update('user',$data,array('id'=>3));//将数据库.user表里id=3的用户密码给为12345
var_dump($bool);//成功则返回TURE
查
//get
$res=$list=$this->db->get('user');
//var_dump($list);
foreach($res->result() as $item){//利用foreach来列出所有用户名
echo $item->username;
echo '<br />';
}
更简单写法,以查询为例:
$this->db->where('id =', $id);
$uid_app_data=$this->db->get('uid_app')->row_array();
//返回多行
row_array();
//返回多行
result_array()
输出方法 前面用的 row_array() 是输出一行数组 下面总结一下结果数组
结果数组
result() 方法
该方法以对象数组形式返回查询结果,如果查询失败返回空数组。 一般情况下,你会像下面这样在一个 foreach 循环中使用它:
$query = $this->db->query("YOUR QUERY");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
该方法是 result_object() 方法的别名。
你还可以传一个字符串参数给 result() 方法,这个字符串参数代表你想要把每个结果转换成某个类的类名(这个类必须已经加载)
$query = $this->db->query("SELECT * FROM users;");
foreach ($query->result('User') as $user)
{
echo $user->name; // access attributes
echo $user->reverse_name(); // or methods defined on the 'User' class
}
result_array() 方法
这个方法以 一个纯粹的数组 形式返回查询结果,如果无结果,则返回一个空数组。一般情况下,你会像下面这样在一个 foreach 循环中使用它:
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
最常用的
如果你要返回特定行的数据,你可以将行号作为第一个参数传给这个方法:
$row = $query->row_array(5);//返回5行数据