本文实例讲述了CI框架AR操作实现插入多条sql数据

作者:美狮美高梅官方网站

生成一段 WHERE field IN 查询语句,如果合适的话,用 AND 连接起来。

激活调试器:$this->output->enable_profiler(TRUE);
禁用调试器:$this->output->enable_profiler(FALSE);
设定基准点:
$this->benchmark->mark(‘标记1′);
$this->benchmark->mark(‘标记2′);
echo $this->benchmark->elapsed_time(‘标记1′, ‘标记2′);//输出两个标记间的代码的执行时间
显示总的执行时间:
在模版文件中使用 <?php echo $this->benchmark->elapsed_time();?> 或 {elapsed_time}
显示内存消耗:
如果你的PHP在安装的时候被配置成–enable-memory-limit,你可以将下面的代码包含到视图文件中显示整个系统的内存使用量:
<?php echo $this->benchmark->memory_usage();?>
注意:这个函数只能在视图文件中使用.这个消耗量就是应用程序的全部内存消耗.
如果不喜欢使用纯PHP,另外一种备用的来显示内存使用量的方式是在视图文件中使用这个伪变量:{memory_usage}
管理应用程序
如果你要对application文件夹进行重命名, 你需要打开应用程序中的index.php文件,对变量$application_folder进行更改:
$application_folder = “application”;
视图文件中的PHP替代语法
自动短标记支持:<?=$variable?>
替代控制结构:
if,for,foreach,和 while 相应的关闭语法分别是:endif,endfor,endforeach,和 endwhile
if(…):

elseif(…):

else:

endif;
替代控制结构中将所有的左花括号“{”替换为冒号“:”;
删除了右花括号“}”;
以关闭语法加分号“;”结束。
安全
1、URI安全:URI 一般只包含下列内容:
字母和数字
波浪符: ~
句号: .
冒号: :
下划线: _
破折号: –
2、跨站脚本过滤(XSS Filtering):
$data = $this->input->xss_clean($data[,bool $is_image]);//当数据是图片文件时需将第二个参数设为true,图片安全则返回true否则返回false
如果你想让codeigniter自动处理POST或者COOKIE数据。你可以在application/config/config.php文件中设定:
$config['global_xss_filtering'] = TRUE;
3、使用GET,POST, COOKIE, 或SERVER数据:分别使用一下方法获得:
$this->input->get()
$this->input->post()
$this->input->cookie()
$this->input->server()
例如获得$_POST['something']的数据:$something = $this->input->post(‘something’);
$this->input->get_post()方法将会搜索POST和GET方式的数据流,首先以POST方式搜索参数1中的值,否则以GET方式搜索
以上除了$this->input->server()方法之外,它们都还有第二个参数用以设置是否进行跨站脚本过滤(XSS Filtering)。
比如:$this->input->get_post(‘some_data’, TRUE);
输入类除了上面几个之外还有:
$this->input->ip_address();//获取IP地址
$this->input->valid_ip($ip);//验证IP地址是否有效
$this->input->user_agent();//获取浏览器的user agent信息
4、表单验证:
为了进行表单验证,你需要这三样东西:

$data = array( array( 'name' => 'PHP' , 'url' => '//www.jb51.net' ), array( 'name' => '脚本之家' , 'url' => '//www.jb51.net' ));$this->db->insert_batch;
$names = array('Frank', 'Todd', 'James');$this->db->or_where_not_in;// 生成: OR username NOT IN ('Frank', 'Todd', 'James')

一个视图就是一个网页,或是网页的部分,如头部,底部,侧边栏等等。
视图从不直接调用,必须被一个控制器来调用。
1、视图文件保存位置:application/views/
2、视图文件的文件名:以.php作扩展名
3、在控制器类中载入视图:$this->load->view(‘name’); //其中的 name 便是你的视图文件的名字(如果视图文件存于子目录中,则还应包含子目录名,如:子目录1/试图文件名)。注意:.php 文件的扩展名(后缀名)没有必要专门写出,除非你使用了其他的扩展名。
4、向视图文件中传递数据:数据通过控制器以一个数组或是对象的形式传入视图 , 这个数组或对象作为视图载入函数的第二个参数(例如:$this->load->view(‘name’,array(‘title’=& amp; gt;’标题’,’content’=>’内容’)); )。当我们一次性载入多个视图的时候,只需在第一个视图传入数据就可以了。
5、获取视图的内容:将$this->load->view()函数的第三个参数设为“true”,比如:
$string = $this->load->view(‘myfile’, ”, true);
view方法中的第三个参数表示不输出视图,而只是将结果返回给一个变量。
模型(Model)
模型类的声明方式同控制器类。不同的只是
1、模型类文件保存位置:application/models/
2、模型类的父类名为:Model
3、调用方式不同:㈠控制器类是通过URL调用;㈡模型类是通过在控制器类中使用:
$this->load->model(‘Model_name’);
引用,引用的时候,第一个参数为模型类名(可能还含有子目录名);第二个参数为引用后赋予的新对象名;可以将第三个参数设置为TRUE(或包含数据库连接配置的数组)来使模型装载函数自动连接数据库。
辅助函数(helpers)
1、辅助函数文件保存位置:system/helpers 或 system/application/helpers
2、辅助函数文件名:yourname_helper.php(如果是你扩展的,就要加前缀“MY_”,或你自定义的前缀(application/config/config.php :$config['subclass_prefix'] = ‘MY_';))
3、载入单个辅助函数文件:$this->load->helper(‘辅助函数文件名’);//辅助函数文件名不包括“_helper.php”部分
4、载入多个辅助函数文件:$this->load->helper( array(‘辅助函数文件名1′, ‘辅助函数文件名2′, ‘辅助函数文件名3′) );
5、自动载入辅助函数文件:可以通过打开 application/config/autoload.php ,并往自动载入数组(autoload array)中增加辅助函数文件名来实现。
插件(plugins)
插件的工作方式几乎和辅助函数一模一样。它们最主要的区别在于插件文件一般只有一个函数,而辅助函数文件里面通常是一系列函数。辅助函数被看作系统核心的一部分,而插件通常是网友制作和分享的。
1、插件文件保存位置:system/plugins 或 system/application/plugins
2、插件文件的文件名:yourname_pi.php
3、载入单个插件:$this->load->plugin(‘插件名’);//插件名不包括“_pi.php”部分
4、载入多个插件:$this->load->plugin( array(‘插件名1′, ‘插件名2′, ‘插件名3′) );
5、自动载入插件:可以通过打开 application/config/autoload.php ,并往自动载入数组(autoload array)中增加插件来实现
类库(libraries)
1、类库文件保存位置:system/libraries(系统类库) 或 system/application/libraries(自定义类库)
2、自定义类库命名约定:类名和类文件名应保持一致,它们的首字母必须大写(如是扩展系统类库的类,要加前缀“MY_”,前缀可设置 application/config/config.php:$config['subclass_prefix'],注意:所有原始 CodeIgniter类库以 CI_ 作为前缀,所以请勿以CI_作为你自己的前缀.)
3、类文件的格式
㈠完全自定义的类:
㈡扩展系统类库的类:
class MY_Email extends CI_Email {
function My_Email()
{//如果你需要在类中使用构造函数,你必须在构造函数中显式继承母类构造函数:
parent::CI_Email();
}
}
当你在自定义类中想使用CodeIgniter原始类时,你可以这样做:
首先,定义CodeIgniter对象赋给一个变量:
$CI =& get_instance();//必须以引用的方式
一旦定义某个对象为一个变量,你就可以使用那个变量名取代$this:
$CI =& get_instance();
$CI->load->helper(‘url’);
$CI->load->library(‘session’);
$CI->config->item(‘base_url’);
etc.

以上生成的sql就是这样的:复制代码 代码如下:INSERT INTO mytable VALUES ('PHP','//www.jb51.net'),( '脚本之家', '//www.jb51.net')

如果把$this->db->where() 接受可选的第三个参数设置为 FALSE, CodeIgniter 将不会为那些包含反勾号的字段名或表名提供保护。

CodeIgniter URL:
www.111cn.net /class/function/ID
1、第一段表示调用控制器类。
2、第二段表示调用类中的函数或方法。 (如果你的类文件保存在子目录中,那么第二段包含了两个小段:子目录/类函数)
3、第三及更多的段表示的是传递给控制器的参数,如 ID 或其他各种变量。
(这里的第一、第二、第三段指的是网址中除域名和index.php之外由斜杠“/”分隔的段)
通过设置 application/config/config.php 文件$config['url_suffix']这个参数,你可以为 CodeIgniter 生成的 URL 添加一个指定的文件后缀。
比如:www.111cn.net /index.php/products/view/shoes
你可以随意添加一个后缀,例如 .html,使其显示为:
www.111cn.net /index.php/products/view/shoes.html
可以通过设置 application/config/config.php 文件$config['enable_query_strings']参数值为“true”来启用URL中的查询字符串(形 如:index.php?c=products&m=view&id=345),请注意:如果你使用查询字符串,那么就必须使用自己建立 的 URL ,而且不能使用URL 辅助函数(或是其他生成 URL 的辅助函数,例如表单辅助函数),因为这些都是根据分段 URL 设计的。
URL route路由规则自定义:
1、路由规则文件位置:application/config/routes.php =》$route数组
2、路由规则(通配符规则和正则表达式规则):
一个典型的通配符路由看起来是这样的:
$route['product/:num'] = “catalog/product_lookup”;//数组的键包含着被匹配的URI,而数组的值包含着路由将被重定向的目的地.
路由数组的键可以匹配文字的值或者使用以下两种通配符类型:
:num 将匹配一个只包含有数字的段.
:any 将匹配一个包含任何字符的段.
也可以使用正则表达式:例如:$route[‘products/([a-z]+)/(\d+)’] = “$1/id_$2″;
可以混合使用通配符与正则表达式.
3、需要被保留的路由:$route['default_controller'] 和 $route['scaffolding_trigger']
控制器类(Controller)
新建控制器:
1、控制器类文件保存位置:application/controllers/
2、控制器类文件的文件名:用控制器类名的全小写格式作文件名,以.php作扩展名
3、控制器类声明格式:㈠必须是Controller类的子类;㈡类名的首字母必须大写。
比如声明blog控制器类,其声明格式形如:
class Blog extends Controller {
function __construct(){
parent::Controller();

}
4、控制类中方法的声明:函数名如果以下划线“_”开头,则此函数为私有方法(私有方法不能通过网址访问)。
将私有方法名设为_remap:
该方法会废除掉由 URI 片段来决定哪个方法被调用的规则,允许你重新定义调用方法的规则(方法的路由规则)。
将私有方法名设为_output:
该方法会接收其控制器类的所有输出数据(显示数据),以便由你控制处理和输出。这个方法类似于OO里的析构函数,不管你调用任何方法这个方法总是会被执行。
5、系统的保留类名:Controller CI_Base CI_Loader
6、系统的保留方法名:
_ci_initialize
_ci_scaffolding
index
config
database
dbutil
dbforge
file
helper
helpers
language
library
model
plugin
plugins
scaffolding
script
view
vars
_ci_assign_to_models
_ci_autoloader
_ci_init_class
_ci_init_scaffolding
_ci_is_instance
_ci_load
_ci_load_class
_ci_object_to_array
is_really_writable()
load_class()
get_config()
config_item()
show_error()
show_404()
log_message()
_exception_handler()
get_instance()
7、系统的保留变量:$config $mimes $lang
8、系统的保留常量:
EXT
FCPATH
SELF
BASEPATH
APPPATH
CI_VERSION
FILE_READ_MODE
FILE_WRITE_MODE
DIR_READ_MODE
DIR_WRITE_MODE
FOPEN_READ
FOPEN_READ_WRITE
FOPEN_WRITE_CREATE_DESTRUCTIVE
FOPEN_READ_WRITE_CREATE_DESTRUCTIVE
FOPEN_WRITE_CREATE
FOPEN_READ_WRITE_CREATE
FOPEN_WRITE_CREATE_STRICT
FOPEN_READ_WRITE_CREATE_STRICT

个人还是喜欢CI的AR操作,老版本应该没有插入多条数据的操作,新版本可以用:

说明: or_where, 后者已经过时。

 

$this->db->insert_batch();

$this->db->where;$this->db->or_where;// 生成: WHERE name != 'Joe' OR id > 50

例1:
$fields = $this->db->field_data(‘table_name’);
foreach ($fields as $field)
{
echo $field->name;
echo $field->type;
echo $field->max_length;
echo $field->primary_key;
}
例2:
$query = $this->db->query(“YOUR QUERY”);
$fields = $query->field_data();
13、调用自定义函数
$this->db->call_function(‘没有mysql_前缀的函数名’[,'函数的参数1','参数2','参数 3',...]); 允许你用一个独立的方法来调用一些 CodeIgniter 中没有定义的PHP数据库函数. 你必须提供一个没有 mysql_ 前缀的函数名来作为第一个参数, 这个前缀会根据当前正在使用的数据库类型来自动添加。任何你需要添加的其它参数都放在第一个参数后面。
通常情况下, 你会需要提供一个 connection ID 或是一个 result ID, connection ID 可以这样来获得:
$this->db->conn_id;
result ID 则包含在一个结果集(result object)中, 你可以这样来获得它:
$query = $this->db->query(“SOME QUERY”);
$query->result_id;
14、数据库缓存
只有 读类型(read-type) (SELECT) 查询会被缓存,因为只有这种查询会产生结果集。并且下列方法不能和缓存搭配使用:
num_fields() 、field_names() 、field_data() 、free_result()
激活缓存的步骤:
㈠创建缓存目录;
㈡在文件 application/config/database.php 中设置缓存目录;
㈢激活缓存特性,可以在文件 application/config/database.php 中设置全局选项,也可以用下面的方法手动设置。
$this->db->cache_on() 开启缓存
$this->db->cache_off() 关闭缓存
管理您的缓存文件
缓存系统会在缓存存放目录中建立与被访问的URL所对应的子目录(由各个URI路由段组成目录名。例如网址www.111cn.net /index.php/blog/comments组成的缓存目录名就是blogcomments),同时把缓存文件存放在那个子目录中。
由于缓存文件不会过期,您需要在您的应用程序中写入删除缓存操作的代码。
删除缓存的函数有两个:
$this->db->cache_delete() 删除缓存文件。如果您不使用任何参数,将根据目前的URI决定应该清除/更新什么位置的缓存.要删除非当前页面的数据库缓存,可是采 用$this->db->cache_delete(‘blog’,’comments’);
$this->db->cache_delete_all() 清除所有的缓存文件。
15、数据库维护
㈠初始化(载入数据库维护类):$this->load->dbforge();//一旦初始化,就可以使用$this->dbforge 对象访问类中函数
㈡创建数据库:$this->dbforge->create_database(‘数据库名’) 成功返回 TRUE,否则返回FALSE
㈢删除数据库:$this->dbforge->drop_database(‘数据库名’) 成功返回 TRUE,否则返回FALSE
㈣添加字段:$this->dbforge->add_field(‘字段信息数组或字段信息字符串’) 例外情况:$this->dbforge->add_field(‘id’);//添加字段名为id的INT(9)类型的自动递增主键
㈤添加主键:$this->dbforge->add_key(‘主键字段名或包含非主键字段名的数组’[,'是否(TRUE/FALSE) 是主键']) 可选的第二个参数如果被设置为TRUE,那么就会生成一个主键。请注意 add_key()后面必须调用 create_table()。如果第二个参数不设置,就是添加非主键。多列的非主键必须通过数组来传递,例如:
$this->dbforge->add_key(array(‘blog_name’, ‘blog_label’));
㈥创建表:$this->dbforge->create_table(‘表名’[,'是否(TRUE/FALSE)添加IF NOT EXISTS子句']);
㈦删除表:$this->dbforge->drop_table(‘表名’);
㈧重命名表:$this->dbforge->rename_table(‘原表名’, ‘新表名’);
㈨修改表:
添加列:$this->dbforge->add_column(‘表名’,’字段信息数组’)
删除列:$this->dbforge->drop_column(‘表名’,’列名(字段名)’)
修改列:$this->dbforge->modify_column(‘表名’,’字段信息数组’)
定义 字段信息数组:
在数组中必须包含与字段数据类型相关的“类型”键。例如,INT,VARCHAR,TEXT等等。许多数据类型(如 VARCHAR)还需要“约束”键。
可以使用的键/值:
type/类型INT,VARCHAR,TEXT等等:数据类型
constraint/长度值:约束,数据最大长度
unsigned/TRUE: 在字段定义中生成“UNSIGNED”。
default/值: 在字段定义中生成一个缺省值。
null/TRUE: 在字段定义中生成“NULL” 。没有这个,字段缺省为“NOT NULL”。
auto_increment/TRUE: 为字段生成自动增量标记。注意,字段类型必须支持自动增量标记,如整型。
例如:
$fields = array(
‘blog_id’ => array(
‘type’ => ‘INT’,
‘constraint’ => 5,
‘unsigned’ => TRUE,
‘auto_increment’ => TRUE
),
‘blog_title’ => array(
‘type’ => ‘VARCHAR’,
‘constraint’ => ‘100’,
),
‘blog_author’ => array(
‘type’ =>’VARCHAR’,
‘constraint’ => ‘100’,
‘default’ => ‘King of Town’,
),
‘blog_description’ => array(
‘type’ => ‘TEXT’,
‘null’ => TRUE,
),
);
16、数据库工具类
㈠初始化(载入数据库工具类):$this->load->dbutil();//一旦初始化完毕,你可以通过 $this->dbutil 对象来访问成员函数
㈡列出所有数据库名:array $this->dbutil->list_databases() 返回一个含有数据库名的一维数组
㈢优化数据表:bool $this->dbutil->optimize_table(‘表名’);
㈣修复数据库:bool $this->dbutil->repair_table(‘table_name’);//注意:此特性仅在MySQL/MySQLi数据库中可用。
㈤优化数据库:bool $this->dbutil->optimize_database();//注意:此特性仅在MySQL/MySQLi数据库中可用。
㈥从数据库结果集输出CSV格式内容:string $this->dbutil->csv_from_result($db_result) 第一个参数必须为查询结果集对象;第二和第三个参数允许你设置分隔符和换行符。默认使用tab(跳格)作为分隔符,使用“\n”作为换行符。
㈦从数据库结果集输出XML格式内容:string $this->dbutil->xml_from_result($db_result) 第一个参数是查询结果集对象,第二个参数为可选数组参数,数组包含配置参数。例如:
$this->load->dbutil();
$query = $this->db->query(“SELECT * FROM mytable”);
$config = array (
‘root’ => ‘root’,
‘element’ => ‘element’,
‘newline’ => “\n”,
‘tab’ => “\t”
);
echo $this->dbutil->xml_from_result($query, $config);
㈧备份数据库:string $this->dbutil->backup(['备份参数'])
用法:
$this->load->dbutil();
$backup =& $this->dbutil->backup();
$this->load->helper(‘file’);
write_file(‘/path/to/mybackup.gz’, $backup);
$this->load->helper(‘download’);
force_download(‘mybackup.gz’, $backup);
设置备份参数:
将一个包含了各项参数值的数组作为第一个函数参数传递给备份函数,就可以设置数据库备份的参数。例如:
$prefs = array(
‘tables’ => array(‘table1′, ‘table2′), // 包含了需备份的表名的数组.
‘ignore’ => array(), // 备份时需要被忽略的表
‘format’ => ‘txt’, // gzip, zip, txt
‘filename’ => ‘mybackup.sql’, // 文件名 – 如果选择了ZIP压缩,此项就是必需的
‘add_drop’ => TRUE, // 是否要在备份文件中添加 DROP TABLE 语句
‘add_insert’ => TRUE, // 是否要在备份文件中添加 INSERT 语句
‘newline’ => “\n” // 备份文件中的换行符,可使用的有”\n”, “\r”, “\r\n”
);
$this->dbutil->backup($prefs);

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

生成一段 WHERE field NOT IN 查询语句,如果合适的话,用 OR 连接起来。

视图(view)

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

6)$this->db->or_where_not_in();

㈠、一个包含表单的视图文件。
<html>
<head>
<title>My Form</title>
</head>
<body>
<?php echo validation_errors(); ?>
<?php echo form_open(‘form’); ?>
<h5>Username</h5>
<input value=”<?php echo set_value(‘username’); ?>” size=”50″ />
<h5>Password</h5>
<input value=”” size=”50″ />
<h5>Password Confirm</h5>
<input value=”<?php echo set_value(‘email’); ?>” size=”50″ />
<h5>Email Address</h5>
<input value=”” size=”50″ />
<div><input value=”Submit” /></div>
</form>
</body>
</html>
validation_errors()函数用于显示所有错误信息。
显示某个表单域的错误信息:form_error(‘表单域名’);
set_value(‘表单域名’[,'默认值'])函数用于重新提交表单时,用上次输入的值重新填充文本框和文本区。如果你使用一个数组作为一个表单域的域名,你必须将这个数组作为本函数的参数。下面三个输出选择状态:
set_select(‘下拉菜单域名’,’下拉菜单项的值’[,'是否(TRUE/FALSE)默认选中'])
set_checkbox(‘复选框域名’,’复选框项目值’[,'是否(TRUE/FALSE)默认选中'])
set_radio(‘单选框域名’,’单选框项目值’[,'是否(TRUE/FALSE)默认选中'])
㈡、一个包含“成功”信息的视图文件,在成功提交后将被显示。
<html>
<head>
<title>My Form</title>
</head>
<body>
<h3>Your form was successfully submitted!</h3>
<p><?php echo anchor(‘form’, ‘Try it again!’); ?></p>
</body>
</html>
㈢、一个接收并处理所提交数据的控制器函数。
class Form extends Controller {
function index()
{
$this->load->helper(array(‘form’, ‘url’));
$this->load->library(‘form_validation’);
if ($this->form_validation->run() == FALSE)
{
$this->load->view(‘myform’);//表单页面myform.php,保存在你的applications/views/ 文件夹中
}
else
{
$this->load->view(‘formsuccess’);//成功页面formsuccess.php,保存在你的applications/views/ 文件夹中
}
}
}
设置验证规则:要设置验证规则请使用set_rules() 函数:$this->form_validation->set_rules();
该函数使用三个参数:
①、表单域的域名。
②、表单域的名字,它将被插入到错误信息中。例如,如果你有一个表单域叫做“user”你可能给它一个人性化名字叫做“用户名”。
③、为此表单域设置的验证规则。 CodeIgniter允许你将多个规则用竖线“|”连接在一起。任何PHP自身可以接收一个参数的函数都可以被用作一个规则,比如 htmlspecialchars, trim, MD5, 等。要调用一个回调函数只需把函数名加一个”callback_”前缀放在验证规则里,并在你的控制器中添加声明这个新的函数。
你也可以将一系列验证规则作为一个数组$config保存到配置文件application/config/form_validation.php ,然后将此数组作为唯一参数传递给set_rules()。你可以组织这些规则到“组”里。这些组既可以在符合 控制器类/类方法 的调用时自动加载(通过执行$this->form_validation->run()),也可以在用到时你手动调用(通过执 行$this->form_validation->run(‘组名’))。
规则参数列表:
required:如果元素为空,返回FALSE
matches:如果表单元素不匹配参数中所定义的某一项,返回FALSE。相当于枚举。例如:matches[form_item]
min_length:如果表单元素长度小于定义的最小长度,返回FALSE。例如:min_length[6]
max_length:如果表单元素长度大于定义的最大长度,返回FALSE。例如:max_length[12]
exact_length:如果表单元素不是正确的参数值,返回FALSE。 exact_length[8]
alpha:如果表单元素包含字母形式以外的其他字符,返回FALSE。
alpha_numeric:如果表单元素包含字母、数字以外的字符,返回FALSE。
alpha_dash:如果表单元素包含字母、数字、下划线、短横线以外的字符,返回FALSE。
numeric:如果表单元素包含数字以外的字符,返回 FALSE。
integer:如果表单元素包含整数以外的字符,返回 FALSE。
is_natural:如果表单元素包含自然数(0,1,2,3等)以外的字符,返回 FALSE。
is_natural_no_zero:如果表单元素包含非零的自然数(1,2,3等)以外的字符,返回 FALSE。
valid_email:如果表单元素不是一个有效的E-mail地址,返回 FALSE。
valid_emails:如果表单元素中有多个E-mail地址(用半角逗号“,”隔开),只要它们当中的任意一个E-mail地址不是一个有效的E-mail地址,就返回 FALSE。
valid_ip:如果表单元素不是一个有效的IP地址,返回 FALSE。
valid_base64:如果表单元素包含Base64字符编码以外的字符,返回 FALSE。

如果你不使用AR的话,你可以这样做:

3) $this->db->where_in();

数据库操作

总结:ci框架中的数据库快捷操作类中的数据参数一般为一维关联数组

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: