ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PHP 操作数据库

2021-06-10 23:03:00  阅读:184  来源: 互联网

标签:php 数据库 mysqli 查询 connection query 操作 PHP row


文章目录

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:

*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

标签:php,数据库,mysqli,查询,connection,query,操作,PHP,row
来源: https://blog.51cto.com/u_15265965/2894870

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有