PHP数据库连接
PHP连接Mysql方式
MySQLi extension ("i" 意为 improved)
PDO (PHP Data Objects)
PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
phpinfo() 查看是否安装PDO
php代码
连接数据库
<?php
//MySQLi - 面向对象
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
//MySQLi - 面向过程
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
//PDO
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
} catch (PDOException $e) {
echo $e->getMessage();
}
/*关闭对象*/
//MySQLi - 面向对象
$conn->close();
//MySQLi - 面向过程
mysqli_close($conn);
//PDO
$conn = null;
PDO增删改查
<?php
$host = '127.0.0.1';
$db = 'autumn';
$user = 'root';
$pass = 'root';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
// Create
function createUser($name) {
global $pdo;
$sql = "INSERT INTO user (name) VALUES (?)";
$stmt= $pdo->prepare($sql);
$stmt->execute([$name]);
echo "User Created\n";
}
// Read
function getUser($id) {
global $pdo;
$sql = "SELECT * FROM user WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id]);
$user = $stmt->fetch();
print_r($user);
}
// Update
function updateUser($id, $name) {
global $pdo;
$sql = "UPDATE user SET name = ? WHERE id = ?";
$stmt= $pdo->prepare($sql);
$stmt->execute([$name, $id]);
echo "User Updated\n";
}
// Delete
function deleteUser($id) {
global $pdo;
$sql = "DELETE FROM user WHERE id = ?";
$stmt= $pdo->prepare($sql);
$stmt->execute([$id]);
echo "User Deleted\n";
}
// 使用示例
createUser('John Doe');
getUser(1);
updateUser(1, 'Jane Doe');
deleteUser(1);
?>
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2020-02-22 YML
2019-02-22 基于Lua语言的触动精灵脚本开发