
发表日期: 2021-04-26 10:14:38 浏览次数:115
启东网站制作要多少钱【域名企业邮箱服务器注册申请办理】启东网络优化公司哪家好、启东软件开发外包价格、启东高端企业网站页面制作设计专业公司、启东微信公众号小程序购物支付搭建制作公司
启东市,江苏省直辖,南通市代管,位于江苏省东南端,长江入海口北岸,是江苏省日出最早的地方。 [1] 户籍总人口110.35万,常住人口94.95万(2019年)。 [2] 截至2020年6月,启东市下辖9个镇。 [3]
后周显德五年(958年),置海门县于东布洲,隶于通州,海门县域包括今启东中部、北部地区。民国十七年(1928年),于崇明外沙设启东县。1989年,撤销启东县,设立县级启东市。 [14] [56]
启东是全国对外开放口岸 [4] 、中国建筑之乡 [5] 、国家卫生城市 [6] 、国家园林城市 [7] 、全国文明城市 [8] 、国家级生态示范区 [9] 、节水型社会建设达标县 [10] 、紧密型县域医共体建设试点县 [11] 、革命文物保护利用片区分县 [12] ,海洋经济之乡、电动工具之乡、建筑之乡、教育之乡、版画之乡。 [1]
2019年,启东市地区生产总值1157.55亿元,第一产业增加值79.64亿元,第二产业增加值581.29亿元,第三产业增加值496.62亿元。三次产业比为6.9:50.2:42.9。人均地区生产总值121879元。
// SELECT id, name FROM tbl_user WHERE (age > 18);$user = $user->select('id, name')->where('age > 18');while ($row = $user->fetch('name')) {
var_dump($row);}// 输出string(3) "Tom"string(4) "King"... ...复制代码注意!以下是错误的用法。还记得前面所学的NotORM状态的保持吗?因为这里每次循环都会新建一个NotORM表实例,所以没有保持前面的查询状态,从而死循环。
while ($row = DI()->notorm->user->select('id, name')->where('age > 18')->fetch('name')) {
var_dump($row);}复制代码只获取第一行,并且获取多个字段,等同于fetchRow()操作。
// SELECT id, name FROM tbl_user WHERE (age > 18) LIMIT 1;$rs = $user->select('id, name')->where('age > 18')->fetchOne();var_dump($rs);// 输出array(2) {
["id"]=>
string(1) "2"
["name"]=>
string(3) "Tom"}复制代码只获取第一行,并且只获取单个字段,等同于fetchRow()操作。
var_dump($user->fetchOne('name')); // 输出 string(3) "Tom"复制代码获取键值对,并且获取多个字段:
// SELECT id, name, age FROM tbl_user LIMIT 2;$rs = $user->select('name, age')->limit(2)->fetchPairs('id'); //指定以ID为KEYvar_dump($rs);// 输出array(2) {
[1]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(7) "dogstar"
["age"]=>
string(2) "18"
}
[2]=>
array(3) {
["id"]=>
string(1) "2"
["name"]=>
string(3) "Tom"
["age"]=>
string(2) "21"
}}复制代码获取键值对,并且只获取单个字段。注意,这时的值不是数组,而是字符串。
// SELECT id, name FROM tbl_user LIMIT 2var_dump($user->limit(2)->fetchPairs('id', 'name')); //通过第二个参数,指定VALUE的列// 输出array(2) {
[1]=>
string(7) "dogstar"
[2]=>
string(3) "Tom"}复制代码获取全部的行,相当于fetchRows()操作。
// SELECT * FROM tbl_uservar_dump($user->fetchAll()); // 输出全部表数据,结果略复制代码
使用原生SQL语句进行查询,并获取全部的行:
// SELECT name FROM tbl_user WHERE age > :age LIMIT 1$sql = 'SELECT name FROM tbl_user WHERE age > :age LIMIT 1';$params = array(':age' => 18);$rs = $user->queryAll($sql, $params);var_dump($rs);// 输出array(1) {
[0]=>
array(1) {
["name"]=>
string(3) "Tom"
}}// 除了使用上面的关联数组传递参数,也可以使用索引数组传递参数$sql = 'SELECT name FROM tbl_user WHERE age > ? LIMIT 1';$params = array(18);// 也使用queryRows()别名$rs = $user->queryRows($sql, $params);复制代码在使用queryAll()queryRows()进行原生SQL操作时,需要特别注意:
1、需要手动填写完整的表名字,包括分表标识,并且需要通过任意表实例来运行
2、尽量使用参数绑定,而不应直接使用参数来拼接SQL语句,慎防SQL注入攻击
下面是不好的写法,很有可能会导致SQL注入攻击
// 存在SQL注入的写法$id = 1;$sql = "SELECT * FROM tbl_demo WHERE id = $id";$rows = $this->getORM()->queryAll($sql);复制代码
对于外部不可信的输入数据,应改用参数传递的方式。
// 使用参数绑定方式$id = 1;$sql = "SELECT * FROM tbl_demo WHERE id = ?";$rows = $this->getORM()->queryAll($sql, array($id));复制代码
查询总数:
// SELECT COUNT(id) FROM tbl_uservar_dump($user->sum('id'));// 输出string(3) "3"复制代码查询最小值:
// SELECT MIN(age) FROM tbl_uservar_dump($user->min('age'));// 输出string(2) "18"复制代码查询最大值:
// SELECT MAX(age) FROM tbl_uservar_dump($user->max('age'));// 输出string(3) "100"复制代码计算总和:
// SELECT SUM(age) FROM tbl_uservar_dump($user->sum('age'));// 输出string(3) "139"复制代码表2-16 数据库删除操作
操作 | 说明 | 示例 | 备注 | 是否PhalApi新增 |
|---|---|---|---|---|
delete() | 删除 |
| 禁止无where条件的删除操作 | 否 |
按条件进行删除,并返回影响的行数:
// DELETE FROM tbl_user WHERE (id = 404);$user->where('id', 404)->delete();复制代码请特别注意,PhalApi禁止全表删除操作。即如果是全表删除,将会被禁止,并抛出异常。如:
// Exception: sorry, you can not delete the whole table$user->delete();复制代码
关于事务的操作,可以使用NotORM的方式。例如:
// 第一步:先指定待进行事务的数据库// 通过获取一个notorm表实例来指定;否则会提示:PDO There is no active transaction$user = DI()->notorm->user;// 第二步:开启事务开关(此开关会将当前全部打开的数据库都进行此设置)DI()->notorm->transaction = 'BEGIN';// 第三步:进行数据库操作$user->insert(array('name' => 'test1',));$user->insert(array('name' => 'test2',));// 第四:提交/回滚DI()->notorm->transaction = 'COMMIT';//DI()->notorm->transaction = 'ROLLBACK';复制代码也可以使用PhalApi封装的事务操作方式,并且推荐使用该方式。
// Step 1: 开启事务
DI()->notorm->beginTransaction('db_demo');
// Step 2: 数据库操作
DI()->notorm->user->insert(array('name' => 'test1'));
DI()->notorm->user->insert(array('name' => 'test2'));
// Step 3: 提交事务/回滚
DI()->notorm->commit('db_demo');
//DI()->notorm->rollback('db_demo');
启东网站制作要多少钱【域名企业邮箱服务器注册申请办理】启东网络优化公司哪家好、启东软件开发外包价格、启东高端企业网站页面制作设计专业公司、启东微信公众号小程序购物支付搭建制作公司
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878