PHP学习心得


框架操作数据库

<h2>ORM库位置</h2> <ul> <li>/vendor/topthink/think-orm</li> </ul> <h2>数据库连接配置信息位置</h2> <ul> <li>/config/database.php</li> <li>.env // 优化使用此文件</li> </ul> <h2>创建数据库</h2> <ul> <li>数据库名称 <ul> <li>mall</li> </ul></li> <li>数据库编码 <ul> <li>utf8mb4 -- UTF-8 Unicode</li> </ul></li> <li>排序规则 <ul> <li>utf8mb4_general_ci</li> </ul></li> <li>修改.env数据库配置文件</li> </ul> <h2>创建数据表</h2> <pre><code class="language-sql">CREATE TABLE `mall_user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(100) NOT NULL DEFAULT '' COMMENT '用户名', `phone_number` varchar(20) NOT NULL COMMENT '手机号', `password` char(32) NOT NULL DEFAULT '', `ltype` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '登录方式 默认0 手机号码登录 1用户名密码登录', `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '会话保存天数', `sex` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '性别', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', `status` tinyint(3) unsigned NOT NULL DEFAULT '0', `operate_user` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`) USING BTREE, KEY `usernme` (`username`), KEY `phone_number` (`phone_number`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;</code></pre> <h2>查询一条数据</h2> <ul> <li>使用门面模式获取</li> </ul> <pre><code class="language-php">use think\facade\Db; Db::table('mall_user')-&gt;where('id', 1)-&gt;find(); // 使用这个命名空间会报错 use think\Db; // 报错 Call to undefined method think\Db::table()</code></pre> <ul> <li>通过容器获取</li> </ul> <pre><code class="language-php">app('db')-&gt;table('mall_user')-&gt;where('id', 12)-&gt;find();</code></pre> <h2>查看执行的sql语句</h2> <ul> <li>打印最后一条执行的sql语句</li> </ul> <pre><code class="language-php">Db::table('mall_user')-&gt;getLastSql(); Db::table('mall_user')-&gt;where('id', 100)-&gt;fetchSql()-&gt;find();</code></pre> <ul> <li>调试模式下,选择SQL选项栏,查看所有的sql语句</li> </ul> <h2>模型使用说明</h2> <ul> <li>实际工作中,模型使用的场景要大于Db的使用场景</li> <li>模型的灵活性要强于Db</li> </ul> <h2>使用Model时,查询获取得对象,也可以通过数组方式访问对象</h2> <ul> <li>向数组一样访问对象</li> <li>/vendor/topthink/think-orm/src/Model.php</li> <li>Model类继承了ArrayAccess <ul> <li>offsetGet()</li> </ul></li> </ul>

页面列表

ITEM_HTML