PHP语法学习(第八天)—PHP连接mysql详解(上)
由于之前我已经讲了如何在
Centos 7
系统中安装PHP脚本语言
(看“PHP 在CentOS 7的安装配置方法”),以及mysql数据库的sql语句(看“mysql数据库”)
本文就不多描述这两方面的问题,直接进入PHP连接mysql的知识点🤏🏽
另外,想要学习更多PHP语法相关内容请点击“PHP专栏!”
夜凌云:“超越自我,才能超越一切束缚”
文章目录
PHP 连接 MySQL
方法一 MySQLi extension
使用MySQLi
扩展连接MySQL
数据库是一种常见的方法
启用MySQLi 扩展
首先,确保你的PHP环境中已启用MySQLi扩展
-
检查php.ini文件:
先打开你的php.ini
文件, 找到以下行并去掉前面的分号(如果存在分号):extension=mysqli
保存并重新启动你的Web服务器(如Apache或Nginx)以应用更改
访问 MySQL 数据库前,需要先连接到数据库服务器
- 实例 (MySQLi -
面向对象
)
<?php
$servername = "localhost"; // MySQL服务器地址
$username = "your_username"; // MySQL用户名
$password = "your_password"; // MySQL密码
$dbname = "your_database"; // 要连接的数据库名
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
- 实例 (MySQLi -
面向过程
)
<?php
$servername = "localhost"; // MySQL服务器地址
$username = "your_username"; // MySQL用户名
$password = "your_password"; // MySQL密码
$dbname = "your_database"; // 要连接的数据库名
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>
方法二 PDO连接
PDO(PHP Data Objects)连接MySQL是一种灵活且功能强大的方法
启用MySQLi扩展
-
首先,确保你的PHP环境中已启用MySQLi扩展:
- 检查php.ini文件:
- 打开你的
php.ini
文件,找到以下行并去掉前面的分号(如果存在分号):
extension=php_pdo.dll extension=php_pdo_mysql.dll
PDO实例
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
// 创建PDO实例
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
常用的PDO方法
- 执行简单的SQL查询:
PDO::query()
<?php
$sql = "SELECT * FROM users";
$result = $pdo->query($sql);
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
?>
- 预处理SQL语句,防止SQL注入:
PDO::prepare()
<?php
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
echo "ID: " . $row['id'] . " - Name: " . $row['name'];
?>
- 执行不需要返回结果的SQL语句:
PDO::exec()
- 例如INSERT、UPDATE、DELETE
$sql = "INSERT INTO users (name, email) VALUES ('LXJ', 'LXJ@123.com')";
$affected_rows = $pdo->exec($sql);
echo "插入成功,影响的行数: " . $affected_rows;
关闭连接
连接在脚本执行完后会自动关闭,也可以使用以下代码来关闭连接
MySQLi - 面向对象
$conn->close();
MySQLi - 面向过程
mysqli_close($conn);
PDO- 关闭连接
可以通过销毁PDO实例来关闭连接
$pod = null;
综合实例:
MySQLi-面向对象的连接
<?php
$servername = "localhost"; // MySQL服务器地址
$username = "your_username"; // MySQL用户名
$password = "your_password"; // MySQL密码
$dbname = "your_database"; // 要连接的数据库名
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
// 面向对象关闭连接方式
$conn->close();
?>
MySQLi-面向过程的连接
<?php
$servername = "localhost"; // MySQL服务器地址
$username = "your_username"; // MySQL用户名
$password = "your_password"; // MySQL密码
$dbname = "your_database"; // 要连接的数据库名
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
// 面向过程关闭连接方式
mysqli_close($conn);
?>
POD 连接
<?php
$dsn = 'mysql:host=localhost;dbname=your_database;charset=utf8'; // 数据源名称
$username = 'your_username'; // MySQL用户名
$password = 'your_password'; // MySQL密码
try {
// 创建PDO实例
$pdo = new PDO($dsn, $username, $password);
// 设置错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功!";
}
catch (PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
PHP连接 MySQL 创建数据库
- 在 MySQL 中,创建数据库用
CREATE DATABASE
语句 - 创建一个新的数据库时,必须为 mysqli 对象指定三个参数 (
servername, username
和password
)
面向对象:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
面向过程:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
}
else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
PDO 创建数据库
PDO 的优势: 在数据库查询过程出现问题时可以使用异常类来 处理问题。如果 try{ } 代码块出现异常,脚本会停止执行并会跳到第一个 catch(){ } 代码块执行代码。
<?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();
}
?>
今天PHP连接mysql的相关知识先讲到这里,明天接着续上其他相关内容!!!
😆想要了解更多请点击练小杰的CSDN!!!!
ℹ️欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!
原文地址:https://blog.csdn.net/weixin_55767624/article/details/144288869
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!