PHP+MariaDB数据库操作常见问题与解决及基础示例
86 浏览量
更新于2024-09-03
收藏 77KB PDF 举报
“PHP+MariaDB数据库操作基本技巧备忘总结,包括PHP与MariaDB的连接问题、mysqli扩展的加载、数据库及表的创建、插入数据、查询数据等基础操作。”
在PHP开发中,PHP与MariaDB(或MySQL)的配合是常见的数据库操作方式。文章作者由于对Oracle的偏好改变,选择了MariaDB作为数据库系统,因为MariaDB保持了MySQL的开源精神。当搭建好PHP+Apache环境并安装MariaDB后,尝试进行数据库连接时,遇到了"Class 'mysqli' not found"的错误。这个问题通常是因为mysqli扩展未正确加载。解决方法是检查php.ini文件,确保"extension=php_mysqli.dll"这一行没有被注释,并且"extension_dir"配置指向了PHP扩展的正确目录,通常是绝对路径。
在编写PHP代码之前,可以通过`extension_loaded('mysqli')`函数检查mysqli扩展是否已加载,以避免此类错误。接着,文章介绍了如何使用PHP进行基本的数据库操作,例如:
1. 创建数据库与表:
使用SQL语句,首先检查数据库是否存在,如果存在则删除,然后创建新的数据库,接着选择该数据库并创建用户表。示例如下:
```sql
DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test`;
USE `test`;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(50) NOT NULL,
`password` VARCHAR(255) NOT NULL
);
```
2. 插入数据:
使用`mysqli_query()`函数执行INSERT语句,将新用户信息插入到表中。例如:
```php
$sql = "INSERT INTO users (username, password) VALUES ('testuser', 'testpass')";
if (!$result = mysqli_query($db, $sql)) {
echo "Error inserting data: " . mysqli_error($db);
}
```
3. 查询数据:
使用`mysqli_query()`获取查询结果,然后通过`mysqli_fetch_assoc()`遍历结果集。例如:
```php
$sql = "SELECT * FROM users WHERE username = 'testuser'";
if ($result = mysqli_query($db, $sql)) {
while ($row = mysqli_fetch_assoc($result)) {
echo "User ID: " . $row['id'] . ", Username: " . $row['username'];
}
} else {
echo "Error in query: " . mysqli_error($db);
}
```
4. 更新数据:
更新用户信息时,使用`UPDATE`语句。例如:
```php
$sql = "UPDATE users SET password = 'newpass' WHERE username = 'testuser'";
if (!mysqli_query($db, $sql)) {
echo "Error updating data: " . mysqli_error($db);
}
```
5. 删除数据:
使用`DELETE`语句删除指定条件的数据。例如:
```php
$sql = "DELETE FROM users WHERE id = 1";
if (!mysqli_query($db, $sql)) {
echo "Error deleting data: " . mysqli_error($db);
}
```
通过以上步骤,开发者可以实现PHP与MariaDB之间的基本交互,完成数据的增删查改操作。对于更复杂的数据库操作,如事务处理、存储过程、索引优化等,开发者还需要进一步学习和掌握更高级的PHP和MariaDB知识。
2021-03-05 上传
2022-05-02 上传
点击了解资源详情
2021-05-03 上传
2019-07-09 上传
2019-03-20 上传
2022-08-04 上传
2023-12-30 上传
2020-04-08 上传
weixin_38612139
- 粉丝: 3
- 资源: 885
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目