㈠ 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框架连接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 文件组排除在外。
㈢ 业务档案包括哪些
档案工作,有狭义解释和广义解释之分。从狭义上说,档案工作是指管理档案和提供档案信息为各项社会实践服务的一项专门业务。从广义上说,包括档案事业管理工作、档案室工作、档案馆工作、档案专业教育、档案科学技术研究、档案宣传出版、档案国际交往活动等。
(1)档案的收集。是档案室和档案馆接收和征集档案的总称。包括档案室对本单位归档案卷的接收,档案馆对现行机关或撤销机关移交档案的接收、对社会人士捐赠档案的接收、对分散在社会上的珍贵档案的征集。档案收集的任务,是解决档案分散状况与保管、利用档案要求合理集中的矛盾,只有“化分散为集中”,才便于保管和利用。
(2)档案的整理。是将零散文件分门别类地组成档案有机体的一项工作。包括分类、立卷、卷内文件排列、案卷封面的编制、案卷的排列、案卷目录的编制等一系列工作程序。档案整理的任务,是解决档案零散状态与保管、利用档案要求系统化的矛盾,只有“化零散为系统”,使档案由无序状态转化为有序状态,才便于保管和利用。
(3)档案的鉴定。指档案保存价值的鉴定,是鉴别档案价值的大小、确定档案保管期限、决定档案保存与销毁的一项工作。档案鉴定的任务,是解决档案的量大质杂与保管、利用档案要求优质化的矛盾,只有“化质杂为优质”,淘汰档案中的无用部分,存留其有用部分,才便于保管利用。
(4)档案的保管。是保护档案的安全、延长档案寿命的一项工作。包括档案保护技术工作和库房管理工作。档案保管的任务,是解决档案的易损性与社会要求长远保管和利用档案的矛盾,只有最大限度地增长档案原件的寿命,或者通过缩微复制保护档案信息,使之久传,才能保证社会长远利用。
(5)档案的编目。又称档案检索。是对档案内容和形式进行分析、选择、浓缩和记录,并按照一定次序编排成为各种目录的工作过程。包括馆藏目录、检索性目录和介绍性目录的编制。编目工作的任务,是解决档案数量庞大、内容复杂和利用者对档案信息特定需求之间的矛盾。各种档案目录可帮助利用者了解馆藏档案的内容和成分,检索到所需要的档案信息,也用于档案馆(室)的档案管理。
(6)档案的编研。指档案馆(室)的编辑与研究工作。包括编辑档案文献汇编、编写综合参考资料以及参加编史修志等。其主要任务是:按照一定的选题,将重要的档案编辑成为文献出版物,如档案史料汇编或丛编,重要文件汇编或政策法令汇编,以及科学技术资料汇编等;或者将档案信息浓缩化、系统化、编成大事记、组织沿革、基础数字汇编、专题概要等,便于不同利用对象的利用。
(7)档案的提供利用。亦称档案信息的输出。是通过多种信息传输渠道和媒介,将档案信息传递给利用者的工作过程。它是档案工作为各项社会实践服务的直接体现,它把档案的作用由可能性变成现实性,通过它可以把档案工作搞活,把档案这种“死材料”变成“活材料”,在各项社会实践中发挥作用。
(8)档案的统计。它以表格数字形式全面地反映档案、档案工作和档案事业状况。包括档案的收进、移出、整理、鉴定、保管、利用情况,以及档案机构、人员、经费、设备的登记和统计。档案统计是取得反馈信息、对档案工作进行监督的重要手段之一,是档案部门了解情况、总结经验、进行决策、制订计划的依据。
㈣ ci 框架 怎么写sql 判断一个字段不为空
ci 框架 怎么写sql 判断一个字段不为空
$this->db->where ('name is not null');
直接这样写 就可以了。
㈤ 关于PHP里面CI框架的问题
那是CI的问题,只能见一个文件夹,如果想多个文件夹,记得找我我晚上有时间1215175666
㈥ ci是怎么样防sql注入的
用
CI
的
Query
Builder
就可以防
SQL
注入,不用
PDO
的预处理机制。
其实防
SQL
注入很简单,做好转义就行了,最重要的其实不是技术,而是安全意识。
㈦ ci是怎么样防sql注入的
最简单最容易的是限制用户输入。简单点的就是不允许用户输入单引号和--,因为单引号号--在SQL中都是影响执行的,两种方式一种是在JSP中加判断。另一种是在SQL拼接是对单引号和--等进行转义,例如:str=str.replace("'","''");等等,还有
㈧ 请教CI如何捕获SQL语句异常
try{
//代码 代码中通常会出现不知情却在情理中的错误
int age = a.getAge();//如果a对象为空,你却调用它的方法就会报NullPointerException异常
}catch(//异常类型 NullPointerException ne){//获取你可以预知的异常
//异常处理就是你捕获了这个异常你要这个异常进行哪种操作
//一般的操作就是记录到日志里
//然后抛出去或者返回状态
}catch(Exception ex){//这个是所有异常的父类
//因为很多异常是不可预知的
//记录到日志里
//然后抛出去或者返回状态
}
㈨ ci框架如何使用 原生sql
是啊$sql = 'delete select update insert'; $this->db->query($sql);原生的没有框架执速度快的,你不要误导别人拉句子就是试验品 查看更多答案>>
㈩ CI框架如何在控制器里面链接数据库.然后执行SQL语句
在conf的自动加载,开启database自动加载,配置好数据库账号密码等,然后在控制器中如下:
$userInfo = $this->db->get('user'); //user为user表名
或者
$query = "select * from user";
$this->db->query($query);