PHP Mysqli 连接MySQL与数据库操作指南
122 浏览量
更新于2024-09-01
收藏 67KB PDF 举报
"这篇文档是关于PHP Mysqli的常用代码集合,旨在帮助使用PHP Mysqli进行MySQL数据库交互的开发者提供参考。PHP从5.0版本开始引入了mysqli扩展,它是一个面向对象的接口,提供了更高效、更安全的数据库访问方式。通过配置PHP.ini启用mysqli扩展,然后使用类方法进行数据库连接、查询、结果处理和关闭连接等操作。文档中展示了创建连接、执行预处理语句、获取数据、处理中文乱码等问题的基本示例。"
PHP Mysqli 是PHP中用于与MySQL数据库进行交互的一个扩展,自PHP 5.0版本开始引入。相比于旧的mysql扩展,mysqli提供了更多的功能和更好的性能。mysqli扩展是面向对象的,这使得代码更加整洁且易于维护。同时,它支持新的MySQL特性,如预处理语句,可以有效防止SQL注入,提高安全性。
配置PHP Mysqli
在使用mysqli之前,需要确保PHP环境中已经启用了mysqli扩展。在PHP.ini配置文件中,找到或添加以下行:
```
extension=php_mysqli.dll
```
重启服务器后,扩展就会生效。
创建数据库连接
创建数据库连接是使用mysqli的第一步:
```php
$conn = new mysqli($servername, $username, $password, $dbname);
```
其中,`$servername`是数据库服务器地址,`$username`和`$password`是数据库登录凭证,`$dbname`是你要连接的数据库名称。
检测连接
创建连接后,应检查是否成功:
```php
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
```
预处理语句与执行查询
预处理语句是防止SQL注入的有效手段:
```php
if ($stmt = $conn->prepare("SELECT username, password FROM member WHERE username=? AND password=?")) {
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->bind_result($U, $P);
$HasData = false;
while ($stmt->fetch()) {
$HasData = true;
echo "username->$U password->$P<br>";
}
}
```
处理结果和关闭连接
完成查询后,可以处理结果并关闭连接:
```php
$stmt->close();
$conn->close();
```
基本SQL语句
- 插入记录:
```sql
INSERT INTO [表名] ([字段1], [字段2]) VALUES ([值1], [值2]);
```
- 选择记录:
```sql
SELECT * FROM [表名] WHERE [表达式] ORDER BY [字段1], [ASC/DESC 升/降] [字段2], [ASC/DESC 升/降];
```
- 删除记录:
```sql
DELETE FROM [表名] WHERE [表达式];
```
- 更新记录:
```sql
UPDATE [表名] SET [字段1]=[值1], [字段2]=[值2] WHERE [表达式];
```
- 获取总行数:
```sql
SELECT COUNT(*) FROM [表];
```
处理中文乱码
在处理中文乱码问题时,可以对页面编码进行设置:
```html
<meta charset="UTF-8">
```
并且在数据库连接时指定字符集:
```php
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8");
```
这个PHP Mysqli代码集合为初学者和开发者提供了基础示例,便于理解和使用mysqli进行MySQL数据库操作。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-03-19 上传
2010-01-20 上传
2013-04-03 上传
2013-05-06 上传
2020-10-30 上传
2010-10-24 上传
weixin_38626943
- 粉丝: 5
- 资源: 935
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查