【php快速上手(十一)】

ops/2024/9/23 2:15:06/
webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

目录

  • PHP快速上手(十一)
    • PHP 连接数据库和创建数据库
      • PHP 连接数据库
        • 使用 MySQLi连接 MySQL 数据库
        • 使用 PDO 连接 MySQL 数据库
      • PHP创建数据库
        • 使用MySQLi创建MySQL数据库:
        • 使用PDO创建MySQL数据库:

PHP快速上手(十一)

PHP 连接数据库和创建数据库

在 PHP 中,你可以使用 MySQLi(MySQL Improved)或 PDO(PHP Data Objects)来连接 MySQL 数据库并执行查询。这两种方法都提供了与 MySQL 数据库进行交互的功能,包括连接数据库、执行查询、处理结果集等。

PHP 连接数据库

使用 MySQLi连接 MySQL 数据库

MySQLi是 PHP 提供的 MySQL Improved 扩展,提供了与 MySQL 数据库进行交互的功能。它提供了面向对象和面向过程两种编程风格。

1 面向对象风格

php"><?php
// 创建连接
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";$conn = new mysqli($servername, $username, $password, $dbname);// 检查连接是否成功
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";// 关闭连接
$conn->close();
?>

在上面的代码中:

  • 创建与数据库的连接,并指定服务器地址、用户名、密码和数据库名。
  • 使用 connect_error 检查连接是否成功。
  • 执行查询并获取结果集。
  • 通过循环遍历结果集并输出。
  • 关闭连接以释放资源。

2 面向过程风格

php"><?php
// 创建连接
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";$conn = mysqli_connect($servername, $username, $password, $dbname);// 检查连接是否成功
if (!$conn) {die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";// 关闭连接
mysqli_close($conn);
?>

在上面的代码中,使用面向过程的风格创建连接、执行查询、处理结果集和关闭连接。

使用 PDO 连接 MySQL 数据库

PDO 是 PHP 提供的数据库抽象层,可以用于连接和操作多种数据库,包括 MySQL。它提供了更高级的功能,如预处理语句、事务管理等。

php"><?php
// 创建连接
$dsn = "mysql:host=localhost;dbname=test";
$username = "root";
$password = "";try {$conn = new PDO($dsn, $username, $password);// 设置错误模式为异常模式$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);echo "Connected successfully";
} catch (PDOException $e) {echo "Connection failed: " . $e->getMessage();
}// 关闭连接
$conn = null;
?>

在上面的代码中:

  • 使用数据源名称(DSN)指定连接信息,包括数据库类型、服务器地址和数据库名。
  • 创建 PDO 对象并设置错误模式为异常模式。
  • 执行查询并获取结果集。
  • 通过循环遍历结果集并输出。
  • 将连接设置为 null 来关闭连接。

PHP创建数据库

使用MySQLi和PDO是PHP中常用的两种扩展来连接和操作MySQL数据库。下面分别介绍如何使用MySQLi和PDO来创建MySQL数据库。

使用MySQLi创建MySQL数据库:
php"><?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$conn = new mysqli($servername, $username, $password);// 检查连接是否成功
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);
}// 创建数据库
$sql = "CREATE DATABASE myDB";if ($conn->query($sql) === TRUE) {echo "Database created successfully";
} else {echo "Error creating database: " . $conn->error;
}// 关闭连接
$conn->close();
?>
使用PDO创建MySQL数据库:
php"><?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";try {$conn = new PDO("mysql:host=$servername", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);// 创建数据库$sql = "CREATE DATABASE myDB";$conn->exec($sql);echo "Database created successfully";
} catch(PDOException $e) {echo "Error creating database: " . $e->getMessage();
}// 关闭连接
$conn = null;
?>

在上面的示例中,使用MySQLi和PDO创建MySQL数据库的过程基本相似,都是先建立与数据库服务器的连接,然后执行CREATE DATABASE语句来创建数据库。需要注意的是,使用PDO时需要捕获可能发生的异常,以确保代码的健壮性。


http://www.ppmy.cn/ops/6158.html

相关文章

JVM之JVM栈的详细解析

Java 栈 Java 虚拟机栈&#xff1a;Java Virtual Machine Stacks&#xff0c;每个线程运行时所需要的内存 每个方法被执行时&#xff0c;都会在虚拟机栈中创建一个栈帧 stack frame&#xff08;一个方法一个栈帧&#xff09; Java 虚拟机规范允许 Java 栈的大小是动态的或者是…

「 网络安全常用术语解读 」漏洞利用交换VEX详解

漏洞利用交换&#xff08;Vulnerability Exploitability eXchange&#xff0c;简称VEX&#xff09;是一个信息安全领域的标准&#xff0c;旨在提供关于软件漏洞及其潜在利用的实时信息。根据美国政府发布的用例(PDF)&#xff0c;由美国政府开发的漏洞利用交换(VEX)使供应商和用…

韩国机器人公司Rainbow Robotics推出RB-Y1轮式双臂机器人

文 | BFT机器人 近日&#xff0c;韩国机器人领域的佼佼者Rainbow Robotics揭开了RB-Y1移动机器人的神秘面纱&#xff0c;这款机器人以其创新的设计和卓越的功能引起了业界的广泛关注。与此同时&#xff0c;Rainbow Robotics还携手舍弗勒集团&#xff08;提供汽车、工业技术服务…

js 遍历数据结构,使不符合条件的全部删除

js 遍历数据结构&#xff0c;使不符合条件的全部删除 let newSourceJSON.parse(JSON.stringify(state.treeData))state.expandedKeys[]checkedKeys.map((item:any)>{loop(newSource,{jsonPath:item.split(&)[1]},state.expandedKeys)})function removeUnwantedNodes(tre…

【算法一则】矩阵置零 【矩阵】【空间复用】

题目 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xff1a; …

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组 1. 简介 2. BCMDHD BCMDHD&#xff1a;Broadcom Dongle Host DriverSIP&#xff1a;System In Package 2.1 WiFi模组

Postgres数据库中的死锁是如何产生的,如何避免和解决?

文章目录 死锁的产生原因如何避免死锁如何解决死锁示例代码查询死锁信息终止事务 在Postgres数据库中&#xff0c;死锁是一种特殊的情况&#xff0c;其中两个或多个事务相互等待对方释放资源&#xff0c;从而导致它们都无法继续执行。这种情况通常发生在多个事务尝试以不同的顺…

渐进式交付实践:通过 Argo Rollouts 和 FSM Gateway 实现金丝雀发布

渐进式交付&#xff08;Progressive delivery&#xff09;是一种软件发布策略&#xff0c;旨在更安全、更可控地将新版本软件逐步推出给用户。它是持续交付的进一步提升&#xff0c;允许开发团队在发布新版本时拥有更细粒度的控制&#xff0c;例如可以根据用户反馈、性能指标和…