CI框架如何在控制器里面链接数据库.然后执行SQL语句

CI框架如何在控制器里面链接数据库.然后执行SQL语句,第1张

在conf的自动加载,开启database自动加载,配置好数据库账号密码等,然后在控制器中如下:

$userInfo = $this->db->get('user')//user为user表名

或者

$query = "select * from user"

$this->db->query($query)

CI框架下的PHP增删改查总结:

controllers下的 cquery.php文件

[php] view plain copy

<?php

class CQuery extends Controller {

//构造函数

function CQuery() {

parent::Controller()

// $this->load->database()

}

function index() {

//调用model 其中train为外层文件夹 MQuery为model名称 queryList为重命名

$this->load->model('train/MQuery','queryList')

//获得返回的结果集 这里确定调用model中的哪个方法

$result = $this->queryList->queryList()

//将结果集赋给res

$this->smarty->assign('res',$result)

//跳转到显示页面

$this->smarty->view('train/vquery.tpl')

}

//进入新增页面

function addPage() {

$this->smarty->view('train/addPage.tpl')

}

//新增

function add() {

//获得前台数据

//用户名

$memberName = $this->input->post('memberName')

//密码

$password = $this->input->post('password')

//真实姓名

$userRealName = $this->input->post('userRealName')

//性别

$sex = $this->input->post('sex')

//出生日期

$bornDay = $this->input->post('bornDay')

//e_mail

$eMail = $this->input->post('eMail')

//密码问题

$question = $this->input->post('question')

//密码答案

$answer = $this->input->post('answer')

//调用model

$this->load->model('train/MQuery','addRecord')

//向model中的addRecord传值

$result = $this->addRecord->addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer)

//判断返回的结果,如果返回true,则调用本页的index方法,不要写 $result == false 因为返回的值未必是false 也有可能是""

if ($result) {

$this->index()

} else {

echo "add failed."

}

}

//删除

function deletePage() {

//获得ID

$deleteID = $this->uri->segment(4)

//调用model

$this->load->model('train/MQuery','delRecord')

//将值传入到model的delRecord方法中

$result = $this->delRecord->delRecord($deleteID)

//判断返回值

if ($result) {

$this->index()

} else {

echo "delect failed."

}

}

//修改先查询

function changePage() {

$changeID = $this->uri->segment(4)

$this->load->model('train/MQuery','changeRecord')

$result = $this->changeRecord->changeRecord($changeID)

//将结果集赋给res

$this->smarty->assign('res',$result)

//跳转到显示页面

$this->smarty->view('train/changePage.tpl')

}

//修改

function change() {

//获得前台数据

//ID

$ID = $this->input->post('id')

//用户名

$memberName = $this->input->post('memberName')

//密码

$password = $this->input->post('password')

//真实姓名

$userRealName = $this->input->post('userRealName')

//性别

$sex = $this->input->post('sex')

//出生日期

$bornDay = $this->input->post('bornDay')

//e_mail

$eMail = $this->input->post('eMail')

//密码问题

$question = $this->input->post('question')

//密码答案

$answer = $this->input->post('answer')

//调用model

$this->load->model('train/MQuery','change')

//向model中的change传值

$result = $this->change->change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer)

//判断返回的结果,如果返回true,则调用本页的index方法,不要写 $result == false 因为返回的值未必是false 也有可能是""

if ($result) {

$this->index()

} else {

echo "change failed."

}

}

}

models中的 mquery.php 文件

[php] view plain copy

<?php

class MQuery extends Model {

//构造函数

function MQuery() {

parent::Model()

//连接数据库

$this->load->database()

}

//查询列表

function queryList() {

//防止select出的数据存在乱码问题

//mysql_query("SET NAMES GBK")

//SQL语句

$sql = "SELECT ID,member_name,sex,e_mail FROM user_info_t"

//执行SQL

$rs = $this->db->query($sql)

//将查询结果放入到结果集中

$result = $rs->result()

//关闭数据库

$this->db->close()

//将结果集返回

return $result

}

//新增

function addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {

//防止select出的数据存在乱码问题

//mysql_query("SET NAMES GBK")

//SQL语句

$sql = "INSERT INTO user_info_t (member_name,password,user_real_name,sex,born_day,e_mail,question,answer) " .

"VALUES ('$memberName','$password','$userRealName','$sex','$bornDay','$eMail','$question','$answer')"

//执行SQL

$result = $this->db->query($sql)

//关闭数据库

$this->db->close()

//返回值

return $result

}

//删除

function delRecord($deleteID) {

//防止select出的数据存在乱码问题

//mysql_query("SET NAMES GBK")

$sql = "DELETE FROM user_info_t WHERE ID = $deleteID"

$result = $this->db->query($sql)

$this->db->close()

return $result

}

//修改前查询

function changeRecord($changeID) {

//防止select出的数据存在乱码问题

//mysql_query("SET NAMES GBK")

$sql = "SELECT ID,member_name,password,user_real_name,sex,born_day,e_mail,question,answer FROM user_info_t WHERE ID = $changeID"

//执行SQL

$rs = $this->db->query($sql)

$result = $rs->row()//$result = $rs[0]

//关闭数据库

$this->db->close()

//将结果集返回

return $result

}

//修改

function change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {

//防止select出的数据存在乱码问题

//mysql_query("SET NAMES GBK")

//SQL语句

$sql = "update user_info_t set member_name = '$memberName',password = '$password', user_real_name = '$userRealName'," .

"sex = '$sex',born_day = '$bornDay',e_mail = '$eMail',question = '$question',answer = '$answer'" .

"where ID = $ID"

//执行SQL

$result = $this->db->query($sql)

//关闭数据库

$this->db->close()

//返回值

return $result

}

}

views 下的 addPage.tpl文件

[php] view plain copy

<html>

<head>

</head>

<body><form action="{{site_url url='train/cquery/add'}}" method="post">

<table border='1'>

<tr>

<td>用户名</td>

<td><input type="text" class="text" name="memberName" id="memberName"/></td>

</tr>

<tr>

<td>密码</td>

<td><input type="text" class="text" name="password" id="password"/></td>

</tr>

<tr>

<td>真实姓名</td>

<td><input type="text" class="text" name="userRealName" id="userRealName"/></td>

</tr>

<tr>

<td>性别</td>

<td><input type="text" class="text" name="sex" id="sex"/></td>

</tr>

<tr>

<td>出生日期</td>

<td><input type="text" class="text" name="bornDay" id="bornDay"/></td>

</tr>

<tr>

<td>e_mail</td>

<td><input type="text" class="text" name="eMail" id="eMail"/></td>

</tr>

<tr>

<td>密码问题</td>

<td><input type="text" class="text" name="question" id="question"/></td>

</tr>

<tr>

<td>密码答案</td>

<td><input type="text" class="text" name="answer" id="answer"/></td>

</tr>

</table>

<table>

<tr>

<td><input type="submit" class="button" name="OK" value="提交" />

</td>

</tr>

</table></form>

</body>

</html>

codeigniter3.*已经自带redis库了

# 新建 /application/config/redis.php 配置如下

$config['socket_type'] = 'tcp'

$config['host'] = '127.0.0.1'

$config['password'] = NULL

$config['port'] = 6379

$config['timeout'] = 0

用法

$this->load->driver('cache', array('adapter' => 'redis', 'backup' => 

'file'))

$foo = 'aaa'

$this->cache->save('foo', $foo, 300)

$this->cache->get('foo')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9794965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存