一、修改thinkphp的主页面
(一)使用sublime打开已安装完成的thinkphp的tp目录
使用sublime打开已安装完成的thinkphp的tp目录
![](https://img.haomeiwen.com/i19703077/463a8c362277b101.png)
在thinkphp的tp目录输入cmd打开后
![](https://img.haomeiwen.com/i19703077/06e9f0d4f8be8664.png)
输入php run think,运行thinkphp
![](https://img.haomeiwen.com/i19703077/627ea7dc269349e7.png)
打开浏览器,输入http://127.0.0.1:8000/,thinkphp运行成功
![](https://img.haomeiwen.com/i19703077/48106c9ee672c880.png)
(二)修改Index.php
打开tp\app\controller\Index.php,下面是Index.php的内容
![](https://img.haomeiwen.com/i19703077/5c365ce1fda05aef.png)
将以下内容
return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:) </h1><p> ThinkPHP V' . \think\facade\App::version() . '<br/><span style="font-size:30px;">14载初心不改 - 你值得信赖的PHP框架</span></p><span style="font-size:25px;">[ V6.0 版本由 <a href="https://www.yisu.com/" target="yisu">亿速云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="https://tajs.qq.com/stats?sId=64890268" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ee9b1aa918103c4fc"></think>';
修改为
return 'hello,thinkphp';
(三)运行thinkphp,查看主页面
浏览器刷新页面后,修改成功
![](https://img.haomeiwen.com/i19703077/83130abc95f399a6.png)
(四)在Index.php添加function
打开tp\app\controller\Index.php,输入
public function hello2($name = 'ThinkPHP6')
{
return 'hello2,' . $name;
}
![](https://img.haomeiwen.com/i19703077/dda55c6d1d784774.png)
(五)保存并运行thinkphp
浏览器输入http://127.0.0.1:8000/index/hello2,出现以下页面则function运行成功
![](https://img.haomeiwen.com/i19703077/9515ea804bb25ad8.png)
但是,浏览器输入http://127.0.0.1:8000/index/hello,报错
![](https://img.haomeiwen.com/i19703077/1e6b2080f5a97ca3.png)
解决办法:
打开tp\router\app.php,将下面这一句注释掉,它影响了hello的运行
Route::get('hello/:name', 'index/hello');
![](https://img.haomeiwen.com/i19703077/05240743006835b4.png)
浏览器刷新,则运行成功
![](https://img.haomeiwen.com/i19703077/1cab21fe5541c6b6.png)
二、连接数据库
(一)下载安装mysql
(1)打开官网https://dev.mysql.com/downloads/mysql/,下载mysql压缩包
![](https://img.haomeiwen.com/i19703077/c3d44692d0ddf137.png)
下载成功后,将它解压,解压成功后,进入mysql-8.0.21-winx64\mysql-8.0.21-winx64\bin,找到mysql.exe进行安装
![](https://img.haomeiwen.com/i19703077/83260ebd70dfe771.png)
(2)创建data文件夹,创建my.ini
在解压好的mysql-8.0.21-winx64文件夹中,新建一个文件夹,命名为data(注意这里的data文件夹必须是空的)
![](https://img.haomeiwen.com/i19703077/923cd0d22fd6a0d6.png)
在mysql-8.0.21-winx64下面,创建一个my.ini文件
![](https://img.haomeiwen.com/i19703077/0812b556e798ea71.png)
将以下代码复制进入my.ini中
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
#skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
basedir ="F:\mysql-8.0.21-winx64" # 设置mysql的安装目录
datadir ="F:\mysql-8.0.21-winx64\data" # 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#服务端的编码方式
character-set-server=utf8mb4
[client]
#客户端编码方式,最好和服务端保存一致
loose-default-character-set=utf8mb4
[WinMySQLadmin]
Server = "F:\mysql-8.0.21-winx64\bin\mysqld.exe"
请注意:这里有三处地方需要修改为你安装mysql的目录:
①basedir ="F:\mysql-8.0.21-winx64" # 设置你的安装mysql的目录
②datadir ="F:\mysql-8.0.21-winx64\data" # 设置你的mysql数据库的data文件夹的存放目录,必须是data
③Server = "F:\mysql-8.0.21-winx64\bin\mysqld.exe" # 设置你自己 mysql数据库的mysqld.exe文件的存放目录
![](https://img.haomeiwen.com/i19703077/80994fab0c744be8.png)
(3)添加环境变量
此电脑右击,属性——高级系统设置——环境变量——系统变量——Path
添加:F:\mysql-8.0.21-winx64\bin
![](https://img.haomeiwen.com/i19703077/52ff56d6ff5f9998.png)
(4)以管理员身份打开“命令行窗口”
必须要以管理员身份运行,输入命令mysqld --initialize-insecure --user=mysql
![](https://img.haomeiwen.com/i19703077/4aaa6844ddb6e951.png)
完成后,可以在mysql-8.0.21-winx64目录下看到,原本为空的data,运行完之后里面多了许多文件和文件夹
![](https://img.haomeiwen.com/i19703077/94709b285a17b99e.png)
如果没有以管理员的身份运行cmd,则输入mysqld -install,就会出现下面的报错信息
![](https://img.haomeiwen.com/i19703077/69e346298fa5042a.png)
原因就是没有用管理员的身份打开cmd
解决办法:
输入cmd,右击,以管理员身份运行
![](https://img.haomeiwen.com/i19703077/aaf81a5311718ff5.png)
再次输入mysqld -install,就会成功,显示Service successfully installed.(表示Mysql服务添加成功)
输入命令net start mysql,启动Mysql服务
![](https://img.haomeiwen.com/i19703077/82b19ae0251525f0.png)
(5)打开cmd,登录mysql后,修改密码(默认密码为空)
①以管理员身份打开“命令行窗口”,输入mysql -uroot -p,确认
②输入时,继续按下Enter(空密码),登录mysql
③输入命令use mysql;(切换到mysql数据库)
④输入命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; (设置密码)
⑤输入命令flush privileges; (设置完密码后,需要刷新MySQL的系统权限相关表,否则会出现拒绝访问)
⑥输入命令exit;(退出)
![](https://img.haomeiwen.com/i19703077/b232fa288a0d4023.png)
(二)下载安装navicat
下载navicat
链接: https://pan.baidu.com/s/13g4tdtx_c_VjD8CP3xlpnw 提取码: k1mi
下载完成后找到navicat.exe
![](https://img.haomeiwen.com/i19703077/bfd1125f7675c216.png)
点击注册,输入注册码key后,即可使用
三、连接数据库
(一)使用navicat连接数据库
双击“navicat.exe”,选择“连接”
![](https://img.haomeiwen.com/i19703077/ed0919326baeca53.png)
连接名:localhost,密码是刚才修改mysql的密码
![](https://img.haomeiwen.com/i19703077/bc46bb7983325423.png)
连接完成后,右击,打开连接
![](https://img.haomeiwen.com/i19703077/9bdd3c24714cf36a.png)
连接成功的效果图:
![](https://img.haomeiwen.com/i19703077/ef696e5b2414d4df.png)
(二)新建数据库
对任何一个数据库,选择右击,选择“新建数据库”
![](https://img.haomeiwen.com/i19703077/e893a259ec419509.png)
数据库名:test
字符集:utf8mb4 -- UTF-8 Unicode
确认
![](https://img.haomeiwen.com/i19703077/c5088072ba2f16bc.png)
(三)添加表
test数据库,右击,打开数据库,找到表,右击,新建表
![](https://img.haomeiwen.com/i19703077/5646da8f2abc0e94.png)
id int 不允许为空 设为主键
name varchar 100 可为空 (注释:姓名)
保存为user
(id这里一定要√“自动递增”,否则在后面数据的插入过程中会出现错误)
![](https://img.haomeiwen.com/i19703077/47f75f36f83ead0d.png)
(四)添加表数据
1 张三
2 李四
输入完成功之后,ctrl+s保存
![](https://img.haomeiwen.com/i19703077/d35e5c2348766419.png)
(五)修改配置文件
打开tp\config\database.php,修改
/**写上你的数据库**/
'database' => env('database.database', 'test'),
/**写上你的数据库的密码**/
'password' => env('database.password', '12345678'),
![](https://img.haomeiwen.com/i19703077/257bc4b194e5f15b.png)
打开tp.example.env,另存为.env,将错误提示信息打开写入用户的账号和密码
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = test
USERNAME = root
PASSWORD = 12345678
HOSTPORT = 3306
CHARSET = utf8
DEBUG = true
[LANG]
default_lang = zh-cn
![](https://img.haomeiwen.com/i19703077/7b35ce1604b64448.png)
四、实现增删改查
(一)查找数据
(1)根据id查找
使用sublime打开tp,再打开tp\app\controller\Index.php
添加下面的代码
public function index()
{
// 查询数据(根据id)
$res = Db::table('user')->where('id', 1)->select();
return $res;
// 查询结果:[{"id":1,"name":"张三"}]
}
![](https://img.haomeiwen.com/i19703077/2551c5a612d33c47.png)
浏览器输入http://127.0.0.1:8000,就会查询到id=1的信息
![](https://img.haomeiwen.com/i19703077/c03dbe7f24f8ef81.png)
(2)根据name查找
添加下面的代码
public function index2()
{
// 查询数据(根据name)
$res = Db::table('user')->where('name', '李四')->select();
return $res;
// 查询结果:[{"id":2,"name":"李四"}]
}
![](https://img.haomeiwen.com/i19703077/449162600a67f33e.png)
浏览器输入http://127.0.0.1:8000/index/index2,就会查询到name=2的信息
![](https://img.haomeiwen.com/i19703077/2ea83cfe971f7a32.png)
(二)插入数据
打开navicat,对user表右击,设计表,插入字段
address varchar 255 0
按ctrl+s保存
![](https://img.haomeiwen.com/i19703077/feac7bd333a4865c.png)
双击user表,对它进行刷新,就可以看到address字段
![](https://img.haomeiwen.com/i19703077/2a2f3d794e2b9bea.png)
(1)利用save方法插入
添加下面的代码
// 插入数据(利用save方法)
public function insert($name = 'ThinkPHP6')
{
$data = ['address' => 'bar', 'name' => '王五'];
$res = Db::name('user')->save($data);
return $res;
// 查询结果:1
}
![](https://img.haomeiwen.com/i19703077/c8519ae5afc83b02.png)
浏览器输入http://127.0.0.1:8000/index/insert,就会出现1,表示插入成功
![](https://img.haomeiwen.com/i19703077/8b98f8bb1ddcb99b.png)
打开user表查看,有王五这一行,表示插入成功
![](https://img.haomeiwen.com/i19703077/b363984e9c08768a.png)
(2)利用save方法插入
添加下面的代码
// 插入数据(利用insertGetId方法)
public function insert2($name = 'ThinkPHP6')
{
$data = ['address' => 'bar', 'name' => '王五'];
$res = Db::name('user')->insertGetId($data);
return $res;
// 查询结果:4
}
![](https://img.haomeiwen.com/i19703077/bfba7cf6fbe010c7.png)
浏览器输入http://127.0.0.1:8000/index/insert2,就会出现4,表示插入成功
![](https://img.haomeiwen.com/i19703077/6e49b41d957b82a4.png)
打开user表查看,有王五,id为4这一行,表示插入成功
![](https://img.haomeiwen.com/i19703077/6671427aa1a74c0e.png)
(三)更新数据
(1)利用save方法进行更新
添加下面的代码
public function update($name = 'ThinkPHP6')
{
$res = Db::name('user')
->save(['id' => 1, 'name' => 'thinkphp']);
return $res;
// 查询结果:1
}
![](https://img.haomeiwen.com/i19703077/a6e2e60d89b11788.png)
浏览器输入http://127.0.0.1:8000/index/update,就会出现1,表示更新成功
![](https://img.haomeiwen.com/i19703077/0874ae2e30c6346a.png)
打开user表查看,有id为1,name为thinkphp这一行,表示更新成功
![](https://img.haomeiwen.com/i19703077/7f8dbdf6fae4c71d.png)
(2)利用update方法进行更新
添加下面的代码
// 更新数据(利用update方法)
public function update2($name = 'ThinkPHP6')
{
$res = Db::name('user')
->where('name', 'thinkphp')
->update(['name' => '修改']);
return $res;
// 查询结果:1
}
![](https://img.haomeiwen.com/i19703077/d7c72a00c5b66d14.png)
浏览器输入http://127.0.0.1:8000/index/update2,就会出现1,表示更新成功
![](https://img.haomeiwen.com/i19703077/e579436a77ce09cb.png)
打开user表查看,有id为1,name为修改这一行,表示更新成功
![](https://img.haomeiwen.com/i19703077/f5fb615a744541cb.png)
(四)删除数据
(1)删除单个数据
添加下面的代码
// 删除数据(删除单个数据)
public function delete()
{
$res = Db::table('user')->delete(1);
return $res;
// 查询结果:1
}
![](https://img.haomeiwen.com/i19703077/76d970babebb3448.png)
浏览器输入http://127.0.0.1:8000/index/delete,就会出现1,表示更新成功
![](https://img.haomeiwen.com/i19703077/37172d463a88c31f.png)
打开user表查看,没有有id为1,name为修改这一行,表示删除成功
![](https://img.haomeiwen.com/i19703077/b4988c37077e1665.png)
(2)删除一组数据
添加下面的代码
// 删除数据(删除一组数据)
public function delete2()
{
$res = Db::table('user')->delete([2,3]);
return $res;
// 查询结果:2
}
![](https://img.haomeiwen.com/i19703077/4015ca21c5ba7d0f.png)
浏览器输入http://127.0.0.1:8000/index/delete,就会出现2,表示删除成功
![](https://img.haomeiwen.com/i19703077/f1051c565a8dc14f.png)
打开user表查看,没有有id为2,name为李四,id为3,name为王五这两行,表示删除成功
![](https://img.haomeiwen.com/i19703077/6194c08b6105a4ee.png)
详情可以参照thinkphp的官方文档:
https://www.kancloud.cn/manual/thinkphp6_0/1037530
五、出现的错误
进行增删改查时,浏览器出现“could not find driver”,原因是php.ini里面没有开放mysql
解决办法:
找到php7\php.ini,用sublime打开
![](https://img.haomeiwen.com/i19703077/c1b1a022c29463b2.png)
将extension=pdo_mysql前面的英文“;”删除,保存
![](https://img.haomeiwen.com/i19703077/4f7e89e78a738f06.png)
重启php,则可以进行增删改查
![](https://img.haomeiwen.com/i19703077/0146bf926b5c2d41.png)
网友评论