梦入琼楼寒有月,行过石树冻无烟

PHP 创建数据库

根据上一章节“PHP连接数据风格”来看,PHP主要分为面向过程风格和面向对象风格两种风格来连接数据库,通常主要列举三种函数,分别为MySQLi、MySQLi_connect、PDO三种函数,但本书仅使用MySQLi、MySQLi_connect两种格式和函数进行演示,对PDO深有兴趣的读者,还请自行进行研究和学习。

对数据库帐号进行权限设置

对数据库帐号权限设置的前提是PHP需要对MySQL执行下写入、修改、删除的权限。如当前数据库连接帐号权限不够完成操作时则会报错为**ERROR 1044 (42000): Access denied for user ‘sun‘@’localhost’ to database ‘password’**,为避免出现此问题所以按照本书流程进行操作

查询当前数据库所有用户

1
select distinct user from mysql.user;

或使用:

1
2
use mysql;                #进入mysql库
select * from user; # 查看所有用户

分配帐号权限

分配所有权限给用户

基本格式
1
GRANT 权限 on 库.表 to '用户'@'localhost';
授权用户
1
grant all on *.* to 'user'@'localhost';            # 将所有MySQL权限和库访问及操作权限授权给sun

创建数据库

面向对象

MySQLi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
// 连接数据库
$server = '127.0.0.1:3306';
$username = "sun";
$password = "7e63de77";

$mkmysql = new mysqli($server,$username,$password);
if ($mkmysql -> connect_error) {
echo "连接失败";
}

// 创建数据库
$sqlcommand = "CREATE DATABASE password";
if ($mkmysql -> query($sqlcommand) === TRUE) {
echo $sqlcommand,"数据库创建成功";
} else {
echo "数据库创建失败";
}
// 关闭数据库连接流
$mkmysql -> close();
?>
</body>
</html>

面向过程

MySQLi_connect

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demos</title>
</head>
<body>
<?php
// 连接数据库
$server = '127.0.0.1:3306';
$username = "sun";
$password = "7e63de77";

$mkmysql = mysqli_connect($server,$username,$password);
if (!$mkmysql) {
echo "数据库连接失败";
}

// 创建数据库
$sqlcommand = "CREATE DATABASE world";
if (mysqli_query($mkmysql,$sqlcommand)) {
echo "数据库创建成功";
echo "数据库命令为: ",$sqlcommand;
} else {
echo "数据库创建失败";
}

// 关闭数据库流
$mkmysql -> close();
?>
</body>
</html>
⬅️ Go back