重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
查询:select 字段名 from 表名 where 条件 order by ……
创新互联是一家专注于成都网站制作、网站建设与策划设计,卢龙网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:卢龙等地区。卢龙做网站价格咨询:18980820575
添加:insert into 表名(字段1,字段2……) values(值1,值2,……)
删除:DELETE FROM 表名称 WHERE 列名称 = 值
修改:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
php中,.是连接符,改成这样
$proname = "SELECT areaname FROM oepre_user_params JOIN oepre_hometown ON oepre_user_params".".`provinceid` = oepre_hometown.`areaid` WHERE userid=123;
这么写当然不行,因为in里面是个字符串你放数组格式就不对
用implode(",", $array)把数组转为字符串就行,不用循环。
SELECT id,count(*) AS num,name FROM tableb GROUP BY name;
测试数据列表;
sql执行结果
你在while循环之前多写了一句$row =mysql_fetch_array($result);导致一行数据丢失
原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数
query()
query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。
例子:
public function read(){
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
对于 query() 方法返回的数据集,跟 select() 一样,可以在模板里直接循环输出。
execute()
execute() 方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。
注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。