当前位置:首页 » 操作系统 » ci框架数据库

ci框架数据库

发布时间: 2022-04-11 12:31:00

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

在conf的自动加载,开启database自动加载,配置好数据库账号密码等,然后在控制器中如下:
$userInfo = $this->db->get('user'); //user为user表名
或者
$query = "select * from user";
$this->db->query($query);

㈡ 您好 在CI框架 在进行数据库updatae 操作时 方法执行成功了 数据表中却没有任何变化 这可能是哪儿出错

控制层
function test_func(){
//获取model页面需要的两个参数
$competition_id = $_GET["competition_id"];
$report_class = $_GET["report_class"];
$this->load->model("Action"); //引入model
$data["head"] = $this->Action->get_report_item($competition_id, $report_class); //引用model的函数
$this->load->view("test_result",$data); //将结果显示在test_result.php页面中
}
view层:
<div id='result_div'>
<h3 style="align:center;color:blue;">添加结果显示</h3>
<?php if ($head){?> //此处选择了循环输出从控制层传输的结果
<table align="center"; border="1" cellpadding="1" cellspacing="1">
<tr align="center">
<td>字段名称(含义)</td> //该td中显示的是你从数据库、即model层中获取到的数据的含义,想显示多少,显示哪个,在这里确认
</tr>
<?php foreach ($head as $item){ ?>
<tr align="center">
<td><?php echo $item->test; ?></td>
</tr>
</table>
<?php }else {
echo “123”;
}?>
</div>

㈢ CI框架里面怎么导出数据库的数据到Excel文件

首先我们使用SQLyogEnt工具,连接到mysql数据库。
连接成功后在左侧的目录位置,找到需要的表,右键打开表
也可以直接在sql执行器中输入:
select
*
from
datetable
name
打开这个表在sql执行器的下方,结果下方,最左侧的位置,如下图,有一个小图标,鼠标移动上面会浮出文字“导出为....”点击这个图标点击后会弹出一个名为“导出为”的弹出窗口,选择需要导出的文件格式:如csv、html、xnl等,在右侧选择导出的字段在界面的最下方有一个输入框,框中是程序默认的一个导出的路径,也可以点击路径旁的按钮,进行自定义导出文件路径。

㈣ PHP CI框架修改数据的方法

CI框架下的PHP增删改查总结:
controllers下的 cquery.php文件
[php] view plain
<?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
<?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
<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>

㈤ ci框架在查询数据库,如何返回一个一维数组,我查的是多条数据的一个字段

直接取一维数组是取不到了
只能把二维转成一维的了:
用result_array取到二维数组
再用array_column,转为一维数组
例:
$sql = 'select name from user';
$result = $this->db->query($sql)->result_array();
$one = array_column($result, 'name');
print_r($one);//这个就是一维数组了

㈥ CI框架中获取数据库中int类型的数据变成了string类型,为什么

从数据库中拿来的都是object本身应该把它默认成string的转换才方便。不同的编程器规则不一样,有的可以自动转,有的得明确的写出来。

㈦ 如何配置ci框架连接sqlserver

一、启用FileTable
1、修改数据库引擎的属性
打开“SQL Server配置管理器”,修改SQL Server数据库引擎的属性。使用此页可针对此 Microsoft SQL Server 2012安装启用 FILESTREAM。

(1)针对 Transact-SQL 访问启用 FILESTREAM
选中此项可针对 Transact-SQL 访问启用 FILESTREAM。 必须选中此控制选项,才能使用其他控制选项。如果不启用此选项,就不能添加FileStream文件组。
(2)针对文件 I/O 流访问启用 FILESTREAM
选中此项可针对 FILESTREAM 启用 Win32 流访问。
(3)Windows 共享名
使用此控制选项可输入将用来存储 FILESTREAM 数据的 Windows 共享的名称。默认为该SQL Server实例的名称。
(4)允许远程客户端针对 FILESTREAM 数据启用流访问
选中此控制选项可允许远程客户端访问此服务器上的此 FILESTREAM 数据。

2、修改服务器的属性
打开“SQL Server Management Studio”,修改该实例的配置。默认配置如下:

上述选项解释如下:
(1)“FILESTREAM 访问级别”显示 SQL Server 实例上支持的 FILESTREAM 的当前级别。若要更改访问级别,请选择以下值之一:
已禁用
无法将二进制大型对象 (BLOB) 数据存储在文件系统中。此为默认值。即filestream access level=0
已启用 Transact-SQL 访问
可使用 Transact-SQL 访问 FILESTREAM 数据,但不能通过文件系统进行访问。即filestream access level=1
已启用完全访问
FILESTREAM 数据可使用 Transact-SQL 以及通过文件系统进行访问。即filestream access level=0
注意:在首次启用 FILESTREAM 时,您可能需要重新启动计算机才能配置驱动程序。
(2)“FILESTREAM 共享名称”显示在安装过程中选择的 FILESTREAM 共享的只读名称。

在本次实验中,我们将“FILESTREAM 访问级别” 设定为:已启用完全访问。
如果是通过T-SQL脚本执行,则运行以下脚本:
EXEC sys.sp_configure N'filestream access level', N'2'
RECONFIGURE WITH OVERRIDE

注意:设置完成之后,重启实例。

3、配置防火墙
若要在防火墙保护的环境中使用 FILESTREAM,客户端和服务器都必须能够将 DNS 名称解析为包含 FILESTREAM 文件的服务器。FILESTREAM 要求 Windows 文件共享端口 139 和 445 处于打开状态。

二、配置文件组
1、添加文件组
完成上述操作之后,就可以为该数据库添加专用于FileStream的文件组。

如果是通过脚本操作,请运行以下脚本:
ALTER DATABASE [db01] ADD FILEGROUP [FileStreamFileGroup] CONTAINS FILESTREAM

2、添加文件
完成上述操作之后,就可以为该数据库添加FilStream类型的数据库文件。

在本例中,系统并没有为“FileStream数据”的文件类型创建mdf或ndf文件,而是在文件夹C:\SqlData下面自动创建以逻辑名称命名的文件夹,即 C:\SqlData\FileData。其中filestream.hdr 文件是 FILESTREAM 容器的头文件。当这个数据库被删除时,mdf、ndf、log连同这个文件夹都会被删除。

如果是通过脚本操作,请运行以下脚本:
ALTER DATABASE [db01] ADD FILE ( NAME = N'FileData', FILENAME = N'C:\SqlData\FileData' ) TO FILEGROUP [FileStreamFileGroup]
注意:在上例中,在运行脚本之前,必须存在C:\SqlData,建议使用右侧的选择按钮选择路径。如果路径不存在,就会报错:

同时不能存在重复的文件夹,即不能存在C:\SqlData\FileData。否则也会报错:


3、启动非事务访问
FileTable 使 Windows 应用程序可以获取 FILESTREAM 数据的 Windows 文件句柄而不需要 SQL Server 事务。为了允许对 SQL Server 中存储的文件进行此非事务性访问,必须为要包含 FileTable 的每个数据库在数据库级别上指定所需的非事务性访问级别。

选项解释如下:
(1)FILESTREAM 非事务访问
为从文件系统到 FileTables 中存储的 FILESTREAM 数据的非事务性访问指定以下选项之一:OFF、READ_ONLY 或 FULL。
如果在服务器上未启用 FILESTREAM,则该值将设置为 OFF 并且被禁用。在本次实验中,将其设置为FULL。
(2)FILESTREAM 目录名称
为与所选数据库相关联的 FILESTREAM 数据指定目录名称。在 FileTable 文件夹层次结构中,此数据库级目录将成为在实例级别为 FILESTREAM 指定的共享名称的子级以及在数据库中创建的 FileTable 的父级。
如果启用非事务性访问时没有提供目录名称,则在以后必须提供它,这样才能在数据库中创建 FileTable。

如果是通过脚本执行,如下:
ALTER DATABASE db01
SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'ImageFiles' )
注意:更改现有数据库时,调用带 DIRECTORY_NAME FILESTREAM 选项的 ALTER DATABASE (Transact-SQL) 语句。使用这些选项更改目录名称时,数据库必须以独占方式锁定,没有打开的文件句柄。

说明:为检查是否在数据库上启用了非事务性访问,可以查询目录视图,脚本如下:
SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
FROM sys.database_filestream_options

三、创建FileTable
1、创建第一个FileTable
“SQL Server Management Studio”只提供一个脚本模板,要想创建FileTable还是得用脚本完成:
USE db01
CREATE TABLE ImageTable1 AS FILETABLE
官方的范本为:
USE [db01]
CREATE TABLE [dbo].[ImageTable1] AS FILETABLE ON [PRIMARY] FILESTREAM_ON [FileStreamFileGroup]
WITH
(FILETABLE_DIRECTORY = N'ImageTable1', FILETABLE_COLLATE_FILENAME = Chinese_PRC_CI_AS)

2、创建第二个FileTable
CREATE TABLE ImageTable2 AS FILETABLE

3、获取共享路径
文件表创建之后,就会相应的产生一个文件表共享目录,该目录路径可以通过内建函数获取:
SELECT FileTableRootPath('ImageTable1')
本次实验所返回的结果为:\\SQL1\SqlFile\ImageFiles\ImageTable1

4、查看
通过Windows资源管理器,可见已经创建了以GUID命名的文件夹。

通过SQL Server Management Studio,查看表的结构。


四、操作
1、向文件夹中添加文件
通过 “Windows资源管理器”,向文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1中添加一个文件A01.GIF。然后运行脚本:
select * from ImageTable1
结果如下:

可见, SQL Server自动在Table中添加了记录。

2、文件改名
运行以下脚本:
update ImageTable1 set name='Cup.GIF' where name='A01.GIF'
通过“Windows资源管理器”,查看文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1,可见文件A01.GIF已经被改名为Cup.GIF 。

3、查看共享文件夹
我们可以继续复制其他文件,然后通过“Windows资源管理器”,查看文件夹。


4、删除文件
可以使用脚本删除,例如:
Delete ImageTable1 where name='Cup.GIF'
或者,通过“Windows资源管理器”直接删除该文件。

五、备份和还原

1、备份数据库
使用 SQL Server 备份数据库时,FILESTREAM 数据将与数据库中的结构化数据一起备份。


2、部分备份
如果不想将 FILESTREAM 数据与关系数据一起备份,则可以使用部分备份将 FILESTREAM 文件组排除在外。

㈧ CI框架如何在视图输出控制器来的数据库数据

<?phpecho$news_item[title];?>

改为

<?phpecho$news_item->title;?>

㈨ ci框架怎么读写操作mysql数据库

首先呢,
1:在database里面配置数据库连接,
2:加载 $this->db->database();
3 : 操作数据库,$this->db->select('*')->get('tablename');
纯手打, 不会加技术交流群:522301635

㈩ CI框架数据库类是否有批量删除留言的方法

这是我现在在使用的方法 /** * 批量删除 */ function My_del_bactch($table,$url,$select="select"){ $CI = &get_instance(); $ids=$CI->input->post($select);//页面中传进来的id,id复选框中的值 for($i=0;$imcom_model->delete_data($table,array("id"=>$ids[$i])); } $msg=mymsg:ELETE_FAIL; if(count($ids)>0){ $msg=mymsg:ELETE_SUCCESS; } $CI->mytool->alert_msg($msg, site_url($url)); //调用提示信息方法 exit(); // exit() 函数输出一条消息,并退出当前脚本 }使用你根据楼上写的where_in自己再封装一下就ok了 到CI中国社区网站查看回答详情>>

热点内容
convertlinux 发布:2024-05-02 18:20:00 浏览:704
zxingandroid简化 发布:2024-05-02 17:47:53 浏览:189
贵州银行卡查询密码是什么 发布:2024-05-02 17:47:17 浏览:119
飓风算法没用 发布:2024-05-02 17:41:41 浏览:350
android铃声设置 发布:2024-05-02 17:40:01 浏览:485
php日记本 发布:2024-05-02 17:28:22 浏览:850
msc拒绝访问 发布:2024-05-02 17:19:09 浏览:122
php函数漏洞 发布:2024-05-02 17:15:26 浏览:963
linux访问localhost 发布:2024-05-02 17:04:11 浏览:880
剑三自动任务脚本 发布:2024-05-02 16:59:42 浏览:526