一、修改thinkphp的主页面
(一)使用sublime打开已安装完成的thinkphp的tp目录
使用sublime打开已安装完成的thinkphp的tp目录
在thinkphp的tp目录输入cmd打开后
输入php run think,运行thinkphp
打开浏览器,输入http://127.0.0.1:8000/,thinkphp运行成功
(二)修改Index.php
打开tp\app\controller\Index.php,下面是Index.php的内容
将以下内容
return ' ';
修改为
return 'hello,thinkphp';
(三)运行thinkphp,查看主页面
浏览器刷新页面后,修改成功
(四)在Index.php添加function
打开tp\app\controller\Index.php,输入
public function hello2($name = 'ThinkPHP6')
{
return 'hello2,' . $name;
}
(五)保存并运行thinkphp
浏览器输入http://127.0.0.1:8000/index/hello2,出现以下页面则function运行成功
但是,浏览器输入http://127.0.0.1:8000/index/hello,报错
解决办法:
打开tp\router\app.php,将下面这一句注释掉,它影响了hello的运行
Route::get('hello/:name', 'index/hello');
浏览器刷新,则运行成功
二、连接数据库
(一)下载安装mysql
(1)打开官网https://dev.mysql.com/downloads/mysql/,下载mysql压缩包
下载成功后,将它解压,解压成功后,进入mysql-8.0.21-winx64\mysql-8.0.21-winx64\bin,找到mysql.exe进行安装
(2)创建data文件夹,创建my.ini
在解压好的mysql-8.0.21-winx64文件夹中,新建一个文件夹,命名为data(注意这里的data文件夹必须是空的)
在mysql-8.0.21-winx64下面,创建一个my.ini文件
将以下代码复制进入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文件的存放目录
(3)添加环境变量
此电脑右击,属性——高级系统设置——环境变量——系统变量——Path
添加:F:\mysql-8.0.21-winx64\bin
(4)以管理员身份打开“命令行窗口”
必须要以管理员身份运行,输入命令mysqld --initialize-insecure --user=mysql
完成后,可以在mysql-8.0.21-winx64目录下看到,原本为空的data,运行完之后里面多了许多文件和文件夹
如果没有以管理员的身份运行cmd,则输入mysqld -install,就会出现下面的报错信息
原因就是没有用管理员的身份打开cmd
解决办法:
输入cmd,右击,以管理员身份运行
再次输入mysqld -install,就会成功,显示Service successfully installed.(表示Mysql服务添加成功)
输入命令net start mysql,启动Mysql服务
(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;(退出)
(二)下载安装navicat
下载navicat
链接: https://pan.baidu.com/s/13g4tdtx_c_VjD8CP3xlpnw 提取码: k1mi
下载完成后找到navicat.exe
点击注册,输入注册码key后,即可使用
三、连接数据库
(一)使用navicat连接数据库
双击“navicat.exe”,选择“连接”
连接名:localhost,密码是刚才修改mysql的密码
连接完成后,右击,打开连接
连接成功的效果图:
(二)新建数据库
对任何一个数据库,选择右击,选择“新建数据库”
数据库名:test
字符集:utf8mb4 -- UTF-8 Unicode
确认
(三)添加表
test数据库,右击,打开数据库,找到表,右击,新建表
id int 不允许为空 设为主键
name varchar 100 可为空 (注释:姓名)
保存为user
(id这里一定要√“自动递增”,否则在后面数据的插入过程中会出现错误)
(四)添加表数据
1 张三
2 李四
输入完成功之后,ctrl+s保存
(五)修改配置文件
打开tp\config\database.php,修改
/**写上你的数据库**/
'database' => env('database.database', 'test'),
/**写上你的数据库的密码**/
'password' => env('database.password', '12345678'),
打开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
四、实现增删改查
(一)查找数据
(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":"张三"}]
}
浏览器输入http://127.0.0.1:8000,就会查询到id=1的信息
(2)根据name查找
添加下面的代码
public function index2()
{
// 查询数据(根据name)
$res = Db::table('user')->where('name', '李四')->select();
return $res;
// 查询结果:[{"id":2,"name":"李四"}]
}
浏览器输入http://127.0.0.1:8000/index/index2,就会查询到name=2的信息
(二)插入数据
打开navicat,对user表右击,设计表,插入字段
address varchar 255 0
按ctrl+s保存
双击user表,对它进行刷新,就可以看到address字段
(1)利用save方法插入
添加下面的代码
// 插入数据(利用save方法)
public function insert($name = 'ThinkPHP6')
{
$data = ['address' => 'bar', 'name' => '王五'];
$res = Db::name('user')->save($data);
return $res;
// 查询结果:1
}
浏览器输入http://127.0.0.1:8000/index/insert,就会出现1,表示插入成功
打开user表查看,有王五这一行,表示插入成功
(2)利用save方法插入
添加下面的代码
// 插入数据(利用insertGetId方法)
public function insert2($name = 'ThinkPHP6')
{
$data = ['address' => 'bar', 'name' => '王五'];
$res = Db::name('user')->insertGetId($data);
return $res;
// 查询结果:4
}
浏览器输入http://127.0.0.1:8000/index/insert2,就会出现4,表示插入成功
打开user表查看,有王五,id为4这一行,表示插入成功
(三)更新数据
(1)利用save方法进行更新
添加下面的代码
public function update($name = 'ThinkPHP6')
{
$res = Db::name('user')
->save(['id' => 1, 'name' => 'thinkphp']);
return $res;
// 查询结果:1
}
浏览器输入http://127.0.0.1:8000/index/update,就会出现1,表示更新成功
打开user表查看,有id为1,name为thinkphp这一行,表示更新成功
(2)利用update方法进行更新
添加下面的代码
// 更新数据(利用update方法)
public function update2($name = 'ThinkPHP6')
{
$res = Db::name('user')
->where('name', 'thinkphp')
->update(['name' => '修改']);
return $res;
// 查询结果:1
}
浏览器输入http://127.0.0.1:8000/index/update2,就会出现1,表示更新成功
打开user表查看,有id为1,name为修改这一行,表示更新成功
(四)删除数据
(1)删除单个数据
添加下面的代码
// 删除数据(删除单个数据)
public function delete()
{
$res = Db::table('user')->delete(1);
return $res;
// 查询结果:1
}
浏览器输入http://127.0.0.1:8000/index/delete,就会出现1,表示更新成功
打开user表查看,没有有id为1,name为修改这一行,表示删除成功
(2)删除一组数据
添加下面的代码
// 删除数据(删除一组数据)
public function delete2()
{
$res = Db::table('user')->delete([2,3]);
return $res;
// 查询结果:2
}
浏览器输入http://127.0.0.1:8000/index/delete,就会出现2,表示删除成功
打开user表查看,没有有id为2,name为李四,id为3,name为王五这两行,表示删除成功
详情可以参照thinkphp的官方文档:
https://www.kancloud.cn/manual/thinkphp6_0/1037530
五、出现的错误
进行增删改查时,浏览器出现“could not find driver”,原因是php.ini里面没有开放mysql
解决办法:
找到php7\php.ini,用sublime打开
将extension=pdo_mysql前面的英文“;”删除,保存
重启php,则可以进行增删改查