數(shù)據(jù)庫(kù)快速入門例子代碼
下面的內(nèi)容將簡(jiǎn)單說(shuō)明怎樣使用數(shù)據(jù)庫(kù)。更詳細(xì)的信息請(qǐng)閱讀各個(gè)函數(shù)的單獨(dú)介紹頁(yè)面。
初始化數(shù)據(jù)庫(kù)類
下面的代碼將依據(jù)你的數(shù)據(jù)庫(kù)配置載入并初始化數(shù)據(jù)庫(kù)類:
$this->load->database();
一旦被載入,你可以在任何地方像這樣使用它:
注意: 如果你的所有頁(yè)面均要求初始化數(shù)據(jù)庫(kù)類,你可以讓它自動(dòng)加載。詳見(jiàn) 數(shù)據(jù)庫(kù)連接。
多結(jié)果標(biāo)準(zhǔn)查詢(對(duì)象形式)
$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result() as $row)
{
????echo $row->title;
????echo $row->name;
????echo $row->email;
}
echo 'Total Results: ' . $query->num_rows();
上面的result()函數(shù)返回一個(gè)對(duì)象的數(shù)組。例如:$row->title
多結(jié)果標(biāo)準(zhǔn)查詢(數(shù)組形式)
$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result_array() as $row)
{
????echo $row['title'];
????echo $row['name'];
????echo $row['email'];
}
上面的result_array()函數(shù)返回一個(gè)帶下標(biāo)的數(shù)組。例如:$row['title']
測(cè)試查詢結(jié)果
如果你的查詢可能不返回結(jié)果,我們建議你先使用 num_rows()函數(shù)來(lái)測(cè)試:
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
???foreach ($query->result() as $row)
???{
??????echo $row->title;
??????echo $row->name;
??????echo $row->body;
???}
}
單結(jié)果標(biāo)準(zhǔn)查詢(對(duì)象形式)
$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;
上面的row()函數(shù)返回一個(gè) 對(duì)象。例如:$row->name
單結(jié)果標(biāo)準(zhǔn)查詢(數(shù)組形式)
$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row_array();
echo $row['name'];
上面的row_array()函數(shù)返回一個(gè) 數(shù)組。例如:$row['name']
標(biāo)準(zhǔn)插入(insert)
$sql = "INSERT INTO mytable (title, name)
????????VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();
快捷查詢
快捷查詢類能為我們提供快速取得數(shù)據(jù)的途徑:
$query = $this->db->get('table_name');
foreach ($query->result() as $row)
{
????echo $row->title;
}
上面的get()函數(shù)返回?cái)?shù)據(jù)表中所有的結(jié)果。 快捷查詢類 提供所有數(shù)據(jù)庫(kù)操作的快捷函數(shù)。
快捷插入(insert)
$data = array(
???????????????'title' => $title,
???????????????'name' => $name,
???????????????'date' => $date
????????????);
$this->db->insert('mytable', $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
?