CI框架常规 数据库 操作_CodeIgniter心得

本文介绍了CI框架下的数据库操作,包括加载数据库、插入数据、使用查询构造器、查询辅助函数,以及简单增删改查的方法。内容涵盖返回受影响的行数、查询语句和结果数组的处理方式。
摘要由CSDN通过智能技术生成

第一步 加载数据库

$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行数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值