zoukankan      html  css  js  c++  java
  • PHP与CI学习笔记

    CodeIgniter框架学习

    安装

    下载好包后,解压复制 system 和 application 目录到网站目录下

    配置

    1. 配置目录
      打开index.php设置好 $system_path$application_folder $view_folder 三个变量的值如'/www/MyUser/system'
    2. 配置数据库
      打开application/config/database.php配置为
    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'database_name',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => TRUE,
        'db_debug' => TRUE,
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array()
    );
    

    测试mysql

    <?php
    defined('BASEPATH') OR exit('数据库驱动脚本不成功');
    class Db extends CI_Controller{
    public function demo()
    {
    	$this->load->database();
    	$query = $this->db->query('SELECT * FROM users');
    foreach ($query->result() as $row)
    {
        echo $row->id;//id为字段号
        echo $row->name;
        echo $row->mail;
    }
    echo 'Total Results: ' . $query->num_rows();
    }
    }
    

    注:CI框架控制器以大写开头

    CI框架DB操作

    codeigniter (CI)是一个优秀、敏捷的PHP开源框架,尤其封装了对数据库的操作,很方便,以下是php ci常用的数据库操作,作个记录:

    查询操作

    $query = $this->db_query("SELECT * FROM table");//查询
    $data = $query->result();//返回对象数组
    $data = $query->result_array();// 返回数组
    $data = $query->row();//只返回一行对象数组
    $data = $query->num_rows();//返回查询结果行数
    $data = $query->num_fields();//返回查询请求的字段个数
    $data = $query->row_array();//只返回一行数组
    $data = $query->free_result();//释放当前查询所占用的内存并删除关联资源标识
    

    插入操作

    echo $this->db->insert_id();//上次插入操作生成的ID
    echo $this->db->affected_rows();//写入和更新操作被影响的行数
    echo $this->db->count_all('table_name');//返回指定表的总行数
    echo $this->db->version();//输出当前的数据库版本号
    echo $this->db->platform();//输出当前的数据库平台
    echo $this->db->last_query();//返回最后运行的查询语句
    //$data = array('name' => $name, 'email' => $email, 'url' => $url);
    $this->db->insert_string('table_name', $data);//插入数据,被插入的数据会被自动转换和过滤
    

    更新操作

    //$data = array('name' => $name, 'email' => $email, 'url' => $url);
    //$where = "author_id = 1 AND status = 'active'";
    $this->db->update_string('table_name', $data, $where);//更新数据,被更新的数据会被自动转换和过滤,例如:
    

    选择数据

    $this->db->get('table_name');//获取表的全部数据
    $this->db->get('table_name', 10, 20);//第二个参数为输出条数,第三个参数为开始位置
    $this->db->get_where('table_name', array('id'=>$id), $offset);//获取数据,第一个参数为表名,第二个为获取条件,第三个为条数
    //select方式获取数据
    $this->db->select('title, content, date');
    $data = $this->db->get('table_name');
    //获取字段的最大值,第二个参数为别名,相当于max(age) AS nianling
    $this->db->select_max('age');
    $this->db->select_max('age', 'nianling');
    //获取字段的最小值
    $this->db->select_min('age');
    $this->db->select_min('age', 'nianling');
    //获取字段的和
    $this->db->select_sum('age');
    $this->db->select_sum('age', 'nianling');
    //自定义from表
    $this->db->select('title, content, date');
    $this->db->from('table_name');
    //查询条件 WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
    $this->db->where('name', $name);
    $this->db->where('title', $title);
    $this->db->where('status', $status);
    //范围查询
    $this->db->where_in('item1', 'item2');
    $this->db->where_not_in('item1', 'item2');
    //匹配,第三个参数为匹配模式 title LIKE '%match%'
    $this->db->like('title', 'match', 'before/after/both');
    $this->db->not_like();
    //分组 GROUP BY title, date
    $this->db->group_by('title', 'date');
    //限制条数
    $this->db->limit(0, 20);
    

    PHP学习

    require '17mb/class/sql.php';需要这文件
    $url=$_SERVER['REQUEST_URI'];URL地址
    $_GET[sortid]取GET的sortid的变量
    abs(-4.2)//4.2,的绝对值
    ceil(9.999)//10 进一法取整
    mt_rand(0,9)//0到9中的随机数,比rand()更好
    pi()圆周率值,常量
    min()返回最小值,
    trim()删除二边的空格 前面加R与L各代表右左
    str_pad($str,20,".")填充指定的长度
    str_repeat(".",10)重复输出10个.字符串
    str_split("Hello")输出字符串对应的数组
    strrev()反转字符串
    wordwrap($str,15)按指定长度拆行
    大小写转换:
    strtolower全小写 strtoupper全大写 ucfirst字符串第一个大写 ucwords每个单词首字母大写
    strcasecmp()不区分大小写比较两字符串
    md5()字符串md5编码

    https://www.jb51.net/article/101179.htm

    https://blog.csdn.net/newjueqi/article/details/7803033

    mysql语句

    创建表

    CREATE TABLE wedconfig
    	(
    	id   INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    	name VARCHAR (20),
    	name_value  VARCHAR (100)  	
      )
    
  • 相关阅读:
    如何设置ASP.NET页面的运行超时时间
    日志文件清理工具V1.1
    【原创】日志文件清理工具V1.0
    【分享】国外后台界面HTML源码 [免费]
    【分享】仿东软OA协同办公服务管理源码
    年底发福利了——分享一下我的.NET软件开发资源
    由12306动态验证码想到的ASP.NET实现动态GIF验证码(附源码)
    【分享】元旦送礼,商业源码免费赠送!
    给大家分享一个jQuery TAB插件演示
    【分享】双12了,也没啥可送大家的,就送大家点商业源码吧!
  • 原文地址:https://www.cnblogs.com/praybb/p/9202155.html
Copyright © 2011-2022 走看看