thinkphp数据库字段
Ⅰ thinkphp 查询数据表内每个字段内=y的和
SELECT (
(SELECT COUNT(*) FROM 【表名】 WHERE m1='y') as m1,
(SELECT COUNT(*) FROM 【表名】 WHERE m2='y') as m2,
(SELECT COUNT(*) FROM 【表名】 WHERE m3='y') as m3,
(SELECT COUNT(*) FROM 【表名】 WHERE m4='y') as m4,
(SELECT COUNT(*) FROM 【表名】 WHERE m5='y') as m5,
(SELECT COUNT(*) FROM 【表名】 WHERE m6='y') as m6
)
您是像这样吗。。。
Ⅱ tp如何获取数据库字段的类型
比如用户要修改个人信息,需要根据数据库字段的类型创建相应的表单,例如
gender字段是tinyint,则创建单选表单
age字段是smallint,则创建text表单
signature字段是varchar,则也创建text表单
Ⅲ thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段
<?php
class MysqlManage{
/*创建数据库,并且主键是aid
* table 要查询的表名
*/
function createTable($table){
$sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;";
M()->execute($sql);
$this->checkTable($table);
}
/*
* 检测表是否存在,也可以获取表中所有字段的信息
* table 要查询的表名
* return 表里所有字段的信息
*/
function checkTable($table){
$sql="desc `$table`";
$info=M()->execute($sql);
return $info;
}
/*
* 检测字段是否存在,也可以获取字段信息(只能是一个字段)
* table 表名
* field 字段名
*/
function checkField($table,$field){
$sql='desc `$table` $field';
$info=M()->execute($sql);
return $info;
}
/*
* 添加字段
* table 表名
* info 字段信息数组 array
* return 字段信息 array
*/
function addField($table,$info){
$sql="alter table `$table` add column";
$sql.=$this->filterFieldInfo();
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 修改字段
* 不能修改字段名称,只能修改
*/
function editField($table,$info){
$sql="alter table `$table` modify ";
$sql.=$this->filterFieldInfo($info);
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 字段信息数组处理,供添加更新字段时候使用
* info[name] 字段名称
* info[type] 字段类型
* info[length] 字段长度
* info[isNull] 是否为空
* info['default'] 字段默认值
* info['comment'] 字段备注
*/
private function filterFieldInfo($info){
if(!is_array($info))
return
$newInfo=array();
$newInfo['name']=$info['name'];
$newInfo['type']=$info['type'];
switch($info['type']){
case 'varchar':
case 'char':
$newInfo['length']=empty($info['length'])?100:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'int':
$newInfo['length']=empty($info['length'])?7:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'text':
$newInfo['length']='';
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']='';
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
}
$sql=$newInfo['name']." ".$newInfo['type'];
$sql.=(!empty($newInfo['length']))?($newInfo['length']) .' ':' ';
$sql.=$newInfo['isNull'].' ';
$sql.=$newInfo['default'];
$sql.=$newInfo['comment'];
return $sql;
}
/*
* 删除字段
* 如果返回了字段信息则说明删除失败,返回false,则为删除成功
*/
function dropField($table,$field){
$sql="alter table `$table` drop column $field";
M()->execute($sql);
$this->checkField($table,$filed);
}
/*
* 获取指定表中指定字段的信息(多字段)
*/
function getFieldInfo($table,$field){
$info=array();
if(is_string($field)){
$this->checkField($table,$field);
}else{
foreach($field as $v){
$info[$v]=$this->checkField($table,$v);
}
}
return $info;
}
}
Ⅳ php thinkphp3。2怎么获取某数据库字段的内容
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,以获取user表name字段为例。
Ⅳ thinkphp3.1 调用数据库字段值
$Dao=M('posts');
$list=$Dao->getField('url',true);
mp($list);
//你没有加条件出来的是数组
Ⅵ Thinkphp 怎样添加数据表的字段
直接修改数据库就行了。或者你自己写alter table语句执行一下也可以。thinkphp并没有内置这种功能。
Ⅶ thinkphp 实现类似mysql中的 insert into 表名(字段...)values(‘值’。。。‘),('值。。。');
$db = M('表名');
$data['字段1']=值1;
$data['字段2']=值2;
$data['字段3']=值3;
$data['字段4']=值4;
$data['字段5']=值5;
$db->add($data);
Ⅷ thinkPHP3.1.3的数据库字段值调用问题
报错提示都没给
怎么看 ,, 先看能不能查询出数据 mp 一下 能的话 看是不是view层出问题了
Ⅸ thinkphp 查询数据库并把字段除以100 怎么简写 比如字段是gold
field('gold /100 as ngold')
Ⅹ thinkphp数据表更新字段A=字段B * 字段C这个如何写
$User->setField('A','(B*C)','id=1');
$User->save();
设置特定字段得更新,试一下