PHP连接并操作数据库
一、环境准备
(如果有环境请直接跳过,阅读下面的操作)
在Linux中进行PHP和数据库的环境搭建(适用于CentOS-7.0版本或以上),以下操作全部是在root用户中操作,普通用户中记得命令前加入sudo
进行提权后进行操作。
1、安装数据库
yum install -y mariadb-serversystemctl restart mariadbsystemctl enable mariadb
2、配置数据库
可以用这个手动设置密码,防止空密码登录
MariaDB [(none)]> use mysql;MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';MariaDB [mysql]> flush privileges; MariaDB [mysql]> exit;
如果觉得上面的有点麻烦,就用下面的这个方法,下面的方法不行就用上面的这个
mysql_secure_insatallation
第一步,程序询问你的数据库root密码,但是我们是初次配置,root密码并不存在,这里直接安一下回车就行
Enter current password for root (enter for none): 【这里直接回车】
第二步,程序询问是否需要设置root密码
Set root password? [Y/n] y【这里输入“y”】New password: 【这里输入“数据库密码”】Re-enter new password: 【这里输入“数据库密码”】
第三步,程序询问是否删除匿名用户(这里不删除的话会有安全问题)
Remove anonymous users? [Y/n] y【这里输入“y”】
第四步,程序询问是否禁用远程登陆root的权限
Disallow root login remotely? [Y/n] n【这里输入“n”】
第五步,程序询问是否移除“test”数据库
Remove test database and access to it? [Y/n] y【这里输入“y”】
最后,程序询问是否立即reload数据库并使配置生效
Reload privilege tables now? [Y/n] y【这里输入“y”】
看到Thanks for using MariaDB!
即配置完毕,可正常使用。
3、安装PHP及插件
yum install -y php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
4、启动php(httpd)服务
systemctl restart httpdsystemctl enable httpd
5、进入网页根目录
cd /var/www/html/
二、数据库的连接
连接数据库(仅面向对象连接)
实现代码:
<?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();
运行结果:
三、对数据库的操作
创建数据库
实现代码:
$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 "
数据库创建成功";}else{echo "
创建失败:".$conn->error;}
运行前检查:
运行结果:
运行后验证:
创建表单
实现代码:
$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 "
创建表成功!";}else{echo "
创建表错误:".$conn->error;}$conn->close();
运行前检查:
运行结果:
运行后检验:
插入数据
代码实现:
$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 "
新记录插入成功";} else {echo "
新记录插入失败: " . $sql . "
" . mysqli_error($conn);}mysqli_close($conn);
运行前检查:
运行结果:
运行后检验:
一次性插入多条数据
代码实现:
$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 "
新记录插入成功";} else {echo "
新记录插入失败: " . $sql . "
" . mysqli_error($conn);}mysqli_close($conn);
运行前检查:
运行结果:
运行后检验:
读取查询数据
实现代码:
$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 "
"; } //echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";}} else {echo "0 结果";}$conn->close();
运行前检查:
运行结果:
修改数据
代码实现:
$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 "
修改成功";} else {echo "
修改成功:" . $sql . "
" . $conn->error;}$conn->close();
运行前检查:
运行结果:
运行后检验:
删除数据
代码实现:
$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 "
删除成功";} else {echo "
删除失败:" . $sql . "
" . $conn->error;}$conn->close();
运行前检查:
运行结果:
运行后检验:
特别声明
原文地址: https://blog.kbai.cc/phpbysql/
此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,
如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,
在此,感谢大家的阅读与支持!
支持一下
觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。
如果我能帮助到你,那就请我喝杯呗~
我的博客链接:blog.kbai.cc