当前位置: 首页 > news >正文

PHP数据库操作全攻略

连接数据库

##基于mysqli的面向过程代码
<?php
// 连接数据库
$host = 'localhost'; // 数据库服务器
$user = 'username'; // 数据库用户名
$password = 'password'; // 数据库密码
$database = 'database_name'; // 数据库名$link = mysqli_connect($host, $user, $password, $database);// 检查连接
if (!$link) {die('连接失败: ' . mysqli_connect_error());
}
mysqli_close($link);
?>
##基于mysqli的面向对象代码
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}
$conn->close();
?>
##采用PDO驱动连接
<?php
$servername = "localhost";
$username = "username";
$password = "password";
​
try {$conn = new PDO("mysql:host=$servername", $username, $password);
​// 设置 PDO 错误模式为异常$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$sql = "CREATE DATABASE myDBPDO";
​// 使用 exec() ,因为没有结果返回$conn->exec($sql);
​echo "数据库创建成功<br>";
}
catch(PDOException $e)
{echo $sql . "<br>" . $e->getMessage();
}
​
$conn = null;
?>

创建数据库

##面向对象
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {echo "数据库创建成功";
} else {echo "Error creating database: " . $conn->error;
}
##面向过程
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {echo "数据库创建成功";
} else {echo "Error creating database: " . mysqli_error($conn);
}

查询数据

##面向过程
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);if (mysqli_num_rows($result) > 0) {// 输出数据while($row = mysqli_fetch_assoc($result)) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";}
} else {echo "0 结果";
}
##面向对象
$sql = "SELECT * FROM table";
$result = $conn->query($sql);if ($result->num_rows > 0) {while ($row = $result->fetch_assoc()) {// 处理每一行数据}
} else {echo "0 结果";
}

插入数据

$sql = "INSERT INTO table (column1, column2, column3) VALUES ('value1', 'value2', 'value3')";
if ($conn->query($sql) === TRUE) {echo "插入成功";
} else {echo "插入失败: " . $conn->error;
}

更新数据

$sql = "UPDATE table SET column1='new value' WHERE condition";
if ($conn->query($sql) === TRUE) {echo "更新成功";
} else {echo "更新失败: " . $conn->error;
}

删除数据

$sql = "DELETE FROM table WHERE condition";
if ($conn->query($sql) === TRUE) {echo "删除成功";
} else {echo "删除失败: " . $conn->error;
}

案例

// 连接到数据库
$conn = mysqli_connect("localhost", "username", "password", "database");// 检查表单是否提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {// 获取表单数据$username = $_POST["username"];$password = $_POST["password"];// 检查用户名是否已经存在$query = "SELECT * FROM users WHERE username = '$username'";$result = mysqli_query($conn, $query);if (mysqli_num_rows($result) == 0) {// 用户名不存在,可以进行注册$query = "INSERT INTO users (username, password) VALUES ('$username', '$password')";mysqli_query($conn, $query);// 注册成功后的操作echo "注册成功!";} else {// 用户名已经存在,注册失败echo "用户名已经存在,请选择其他用户名。";}
}

Redis数据库操作

1、安装php-redis
[root@localhost ~]# yum install php-redis2、准备php环境
[root@localhost ~]# yum install httpd php -y3、启动测试apache和php协同
[root@localhost ~]# vim /var/www/html/phpinfo.php
<?phpphpinfo();
?>
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd4、测试
连接到 redis 服务
[root@localhost ~]# vim /var/www/html/ping.php
<?php//连接本地的 Redis 服务$redis = new Redis();$redis->connect('127.0.0.1', 6379);echo "Connection to server sucessfully";//查看服务是否运行echo "Server is running: " . $redis->ping();
?>
[root@localhost ~]# elinks -dump http://localhost/ping.phpConnection to server sucessfullyServer is running: +PONG
Redis PHP String(字符串) 实例
[root@localhost ~]# vim /var/www/html/string.php
<?php//连接本地的 Redis 服务$redis = new Redis();$redis->connect('127.0.0.1', 6379);echo "Connection to server sucessfully";//设置 redis 字符串数据$redis->set("linux", "Linux Redis test");// 获取存储的数据并输出echo "Stored string in redis:: " .  $redis->get("linux");
?>
[root@localhost ~]# elinks -dump http://localhost/string.phpConnection to server sucessfullyStored string in redis:: Linux Redis testRedis PHP List(列表) 实例
[root@localhost ~]# vim /var/www/html/list.php
<?php//连接本地的 Redis 服务$redis = new Redis();$redis->connect('127.0.0.1', 6379);echo "Connection to server sucessfully";//存储数据到列表中$redis->lpush("test-list", "Redis");$redis->lpush("test-list", "Mongodb");$redis->lpush("test-list", "Mysql");// 获取存储的数据并输出$arList = $redis->lrange("test-list", 0 ,5);echo "Stored string in redis";print_r($arList);
?>
[root@localhost ~]# elinks -dump http://localhost/list.phpConnection to server sucessfullyStored string in redisArray ( [0] => Mysql[1] => Mongodb [2] => Redis )
Redis PHP Keys 实例
[root@localhost ~]# vim /var/www/html/keys.php
<?php//连接本地的 Redis 服务$redis = new Redis();$redis->connect('127.0.0.1', 6379);echo "Connection to server sucessfully";// 获取数据并输出$arList = $redis->keys("*");echo "Stored keys in redis:: ";print_r($arList);
?>
[root@localhost ~]# elinks -dump http://localhost/keys.phpConnection to server sucessfullyStored keys in redis:: Array ( [0] =>test-list [1] => linux )

http://www.dtcms.com/a/511570.html

相关文章:

  • 标准解读——GB/T 46353—2025《信息技术 大数据 数据资产价值评估》国家标准
  • Herm详解
  • 重庆网站建设哪家公司那家好winserver2008上用iis发布网站
  • HTML-CSS项目练习
  • 如何编写自动化测试用例?
  • 【Vibe Coding】001-前端界面常用布局
  • webview 中 cursor:pointer无效是由于-webkit-app-region导致的
  • 【C++】哈希表的实现【开放定址法vs链地址法】
  • 【业务逻辑漏洞】认证漏洞
  • 做网站在哪深圳做网站 汉狮网络
  • 修改k8s的镜像源为国内镜像源
  • Arbess从入门到实战(15) - 使用Arbess+GitHub实现Docker项目自动化构建部署
  • 【MySQL】从零开始了解数据库开发 ---mysql事务机制(一)
  • 网站建设明细盐都建设局网站
  • 基于单片机的气象站labview上位机监测系统
  • Chainlit+LlamaIndex 多模态 RAG 开发实战7:从系统架构到功能落地,搞定 PDF/PPT/ 图片全类型文件处理
  • 在VScode中将一个分支的某一次提交合并到另一个分支中
  • MAC M芯片安装配置VMware+Ubuntu
  • 免费seo推广软件网站排名优化软件联系方式
  • Nebula全球私有云网络部署与配置综合指南
  • LeetCode刷题总结
  • 阿里云代理商:如何开通阿里云文件存储?
  • gitee与github远程仓库
  • C语言需要掌握的基础知识点之字符串
  • 网站子页面如何做seo国家高新技术企业管理工作网
  • vs2010 iis 网站开发有没有什么需要推广的平台
  • 第六章 图——课后习题解练【数据结构(c语言版 第2版)】
  • 小米 C++ 校招二面:epoll/poll/select 区别与底层实现解析
  • 《安富莱嵌入式周报》第359期: 承包80KW水坝并自制控制系统,开源高端智能无线蓝牙耳机V2.0版发布,开源USB-C便携式台式电源
  • 机器人的通用驱动板