tp 获取表的列名,列信息

/**
     * 读取一个表的列信息
     * @author 吾爱 qq296624314
     * @param string $tableName 表名
     * @param array $option 需要获取的属性
     * @return array 返回的一个数组,若指定属性,则以 array("列名1"=>array("属性名1"=>"属性1值"……)……)的格式返回,否则以 array("列名1","列名2"……)的格式返回 
     */
    function getcolumns($tableName,$option=array()){
        $m=M();
        $columns=array();
        $m_re=$m->query("show columns from `{$tableName}`");
        if(!$m_re){
            return array();
        }
        foreach($m_re as $v){
            $v=array_change_key_case($v);
            if(empty($option)){
                $columns[]=$v["field"];
            }else{
                $vv=array();
                foreach($option as $op){
                    $op=strtolower($op);
                    if(array_key_exists($op,$v)){
                        $vv[$op]=$v[$op];
                    }
                }
                $columns[$v["field"]]=$vv;
            }
        }
        return $columns;
    }
用法:dump(getcolumns("ggw",array("type","key","NULL"))); /* 输出结果
array(2) {
  ["id"] => array(3) {
    ["type"] => string(12) "mediumint(8)"
    ["null"] => string(2) "NO"
    ["key"] => string(3) "PRI"
  }
  ["dir"] => array(3) {
    ["type"] => string(9) "char(255)"
    ["null"] => string(2) "NO"
    ["key"] => string(0) ""
  }
}
*/

转载于:https://my.oschina.net/cxz001/blog/114395

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值