PHP连接数据库

本文最后更新于:2021年11月9日 下午

PHP与数据库

一、环境准备

(如果有环境请直接跳过,阅读下面的操作)

在Linux中进行PHP和数据库的环境搭建(适用于CentOS-7.0版本或以上),以下操作全部是在root用户中操作,普通用户中记得命令前加入sudo进行提权后进行操作。

1、安装数据库

1
2
3
yum install -y mariadb-server
systemctl restart mariadb
systemctl enable mariadb

2、配置数据库

可以用这个手动设置密码,防止空密码登录

1
2
3
4
MariaDB [(none)]> use mysql;  
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;

如果觉得上面的有点麻烦,就用下面的这个方法,下面的方法不行就用上面的这个

1
mysql_secure_insatallation

第一步,程序询问你的数据库root密码,但是我们是初次配置,root密码并不存在,这里直接安一下回车就行

1
Enter current password for root (enter for none): 【这里直接回车】

第二步,程序询问是否需要设置root密码

1
2
3
Set root password? [Y/n] y【这里输入“y”】
New password: 【这里输入“数据库密码”】
Re-enter new password: 【这里输入“数据库密码”】

第三步,程序询问是否删除匿名用户(这里不删除的话会有安全问题)

1
Remove anonymous users? [Y/n] y【这里输入“y”】

第四步,程序询问是否禁用远程登陆root的权限

1
Disallow root login remotely? [Y/n] n【这里输入“n”】

第五步,程序询问是否移除“test”数据库

1
Remove test database and access to it? [Y/n] y【这里输入“y”】

最后,程序询问是否立即reload数据库并使配置生效

1
Reload privilege tables now? [Y/n] y【这里输入“y”】

看到Thanks for using MariaDB!即配置完毕,可正常使用。

3、安装PHP及插件

1
yum install -y php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

4、启动php(httpd)服务

1
2
systemctl restart httpd
systemctl enable httpd

5、进入网页根目录

1
cd /var/www/html/

二、数据库的连接

连接数据库(仅面向对象连接)

实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$servername="localhost";
$username="username"; # 这里写数据库用户
$password="password"; # 这里写数据库密码
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("连接失败:".$conn->connect_error);
}
else{
echo "连接成功";
}
$conn->close();

运行结果:

三、对数据库的操作

创建数据库

实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$servername="localhost";
$username="username";
$password="password";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("连接失败:".$conn->connect_error);
}
else{
echo "连接成功";
}
$sql="create database mydb"; # 这里写创建数据库的语句
if ($conn->query($sql)===TRUE){
echo "<br>数据库创建成功";
}else{
echo "<br>创建失败:".$conn->error;
}

运行前检查:

运行结果:

运行后验证:

创建表单

实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb"; # 自己创建的数据库名
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("数据库连接失败:".$conn->connect_error);
}
echo "数据库连接成功";
$sql1="CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP)";
if($conn->query($sql1)===TRUE){
echo "<br>创建表成功!";
}else{
echo "<br>创建表错误:".$conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

插入数据

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("数据库连接成功: " . mysqli_connect_error());
}else {
echo "数据库连接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhetest', 'grouptest', 'erhetest@group.com');";
if (mysqli_multi_query($conn, $sql)) {
echo "<br>新记录插入成功";
} else {
echo "<br>新记录插入失败: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

运行前检查:

运行结果:

运行后检验:

一次性插入多条数据

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("数据库连接失败: " . mysqli_connect_error());
}else {
echo "数据库连接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe', 'group', 'erhe@group.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe2', 'group2', 'erhe2@group2.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('welcome', 'to', 'welcome@erhe.group')";
if (mysqli_multi_query($conn, $sql)) {
echo "<br>新记录插入成功";
} else {
echo "<br>新记录插入失败: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

运行前检查:

运行结果:

运行后检验:

读取查询数据

实现代码:

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
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("数据库连接失败:".$conn->connect_error);
}
echo "数据库连接成功";
$sql = "SELECT id, firstname, lastname,email FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
foreach($row as $keyname=>$keyvalue)
{
echo $keyname."=>".$keyvalue;
echo "<br>";
}
//echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();

运行前检查:

运行结果:

修改数据

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("连接数据库失败:".$conn->connect_error);
}
echo "连接数据库成功";
$sql="UPDATE MyGuests SET email='shuaishuai@163.com' WHERE id=1";
if ($conn->query($sql) === TRUE) {
echo "<br>修改成功";
} else {
echo "<br>修改成功:" . $sql . "<br>" . $conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

删除数据

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("连接数据库失败:".$conn->connect_error);
}
echo "连接数据库成功";
$sql="DELETE FROM MyGuests WHERE id='1'";
if ($conn->query($sql) === TRUE) {
echo "<br>删除成功";
} else {
echo "<br>删除失败:" . $sql . "<br>" . $conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

📣特别声明

此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,

如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,

在此,感谢大家的阅读与支持!🤝💦🎉

🍻支持一下

觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。

👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!