打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PHP 操作数据库

文章目录

PHP 操作数据库

如何在 PHP 代码中操作数据库是我们能否在自己的程序中使用数据库的核心。

数据库扩展:http://php.net/manual/zh/refs.database.php

如果需要使用 MySQLi 扩展,需要在 php.ini 文件中打开这个扩展(解除注释)

标准五步查询+

// 假定数据库用户名:root,密码:yangyongli,数据库:test
$connection = mysqli_connect("localhost", "root", "yangyongli", "test");

// 设置字符集为UTF-8 防止出现乱码
mysqli_set_charset($connection , 'utf8');

if (!$connection) {
// 如果连接失败报错
die('<h1>Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error() . '</h1>');
}

// 查询语句
$sql = "select * from users";
$result = mysqli_query($connection, $sql);

// 查询数据填充到关联数组
while ($row = mysqli_fetch_assoc($result)) {
echo $row["id"] . " ‐ " . $row["username"];
}

// 释放结果集
mysqli_free_result($result); 
mysqli_close($connection);

mysqli:

  • http://php.net/manual/zh/book.mysqli.php

  • http://www.runoob.com/php/php-ref-mysqli.html

*pdo:http://php.net/manual/zh/ref.pdo-mysql.php

3.1. 执行查询语句

解析代码

<?php

// 能通过PHP代码执行一个SQL语句得到查询的结果
// mb_strlen(str)
// 类似于之前的宽字符集函数问题,mysqli是一个额外的扩展
// 如果想要使用这个扩展提供的函数,必须开启扩展
// extension_dir
// 解除注释 extension=php_mysqli.dll
//
// 如果需要在调用函数时忽略错误或者警告可以在函数名之前加上 @

// 1. 建立与数据库服务器之间的连接
$connection = mysqli_connect('127.0.0.1', 'root', '123456', 'demo2');

if (!$connection) {
  // 连接数据库失败
  exit('<h1>连接数据库失败</h1>');
}

// 基于刚刚创建的连接对象执行一次查询操作
// 得到的是一个查询对象,这个查询对象可以用来再到数据一行一行拿数据
$query = mysqli_query($connection, 'select * from users;');
// var_dump($query);

// 等着三蹦子去取数据  取一行
// $row = mysqli_fetch_assoc($query);
// while ($row) {
//   var_dump($row);
//   $row = mysqli_fetch_assoc($query);
// }
// var_dump($row);

// while
//

while ($row = mysqli_fetch_assoc($query)) {
  var_dump($row);
}

功能代码

<?php

// 查询数据的查询语句

// 1. 建立与数据库服务器之间的连接
$connection = mysqli_connect('127.0.0.1', 'root', '123456', 'demo2');

// 1. 必须在查询数据之前
// 2. 必须传入连接对象和编码
mysqli_set_charset($connection, 'utf8');
// mysqli_query($connection, 'set names utf8;');

if (!$connection) {
  // 连接数据库失败
  exit('<h1>连接数据库失败</h1>');
}

// 基于刚刚创建的连接对象执行一次查询操作
$query = mysqli_query($connection, 'select * from users;');

if (!$query) {
  exit('<h1>查询失败</h1>');
}

// 遍历结果集
while ($row = mysqli_fetch_assoc($query)) {
  var_dump($row);
}

// 释放查询结果集
mysqli_free_result($query);

// 炸桥 关闭连接
mysqli_close($connection);

3.2. 执行非查询语句

删除,更新操作用mysqli_affected_rows()看最终结果影响了几行

<?php

// 增删改数据的查询语句

// 1. 建立与数据库服务器之间的连接
$connection = mysqli_connect('127.0.0.1', 'root', '123456', 'demo2');

if (!$connection) {
  // 连接数据库失败
  exit('<h1>连接数据库失败</h1>');
}

// 基于刚刚创建的连接对象执行一次查询操作
$query = mysqli_query($connection, 'delete from users where id = 5;');

if (!$query) {
  exit('<h1>查询失败</h1>');
}

// 如何拿到受影响行
// 传入的一定是连接对象
$rows = mysqli_affected_rows($connection);

var_dump($rows);


// 炸桥 关闭连接
mysqli_close($connection);

查询结果中文显示乱码问题

查询数据之前设置一下连接对象和显示编码就解决了

// 1. 必须在查询数据之前
// 2. 必须传入连接对象和编码
mysqli_set_charset($connection, 'utf8');

案例:XXX管理系统

通用管理系统php+mysql模板

文章链接:
https://yangyongli.blog.csdn.net/article/details/113005923
项目链接:https://download.csdn.net/download/weixin_45525272/14922957

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
简单 PHP + MySQL 数据库动态网站制作 | renfei song's blog
《PHP+MySQL动态网站开发实例教程》第8章 PHP操作MySQL数据库
php – 从mysql切换到mysqli后,Ajax的更新语句不能正常工作,但没有错误显示
PHP中的MySQLi扩展学习(三)mysqli的基本操作
php分页代码简单实现
php使用数据库的并发问题(乐观锁与悲观锁)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服