PHP操作数据库(六步法)

本文详细介绍了使用PHP进行数据库操作的六个步骤,包括连接数据库、设置字符集、执行SQL、处理查询结果、释放资源及关闭数据库。同时,分析了连接数据库失败的原因,并给出了检查方法。此外,还提供了JavaScript发送网络请求的示例以及可能出现的请求错误分析。
摘要由CSDN通过智能技术生成

PHP操作数据库(六步法)

<?php
header("Content-type:application/json;charset=utf8");
// 设置跨域
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:*');
header('Access-Control-Allow-Headers:*');
// 连接数据库操作
// 1.连接数据库 ip地址换成你自己的,本地的话就用localhost
$link = mysqli_connect('ip/本机地址', '数据库账号', '数据库密码', '数据库名') or die('连接数据库失败!');
// var_dump($link);
// 2.设置字符集,设置返回正确的数据类型
mysqli_set_charset($link, 'utf8');
mysqli_options($link, MYSQLI_OPT_INT_AND_FLOAT_NATIVE, true);
// 3.准备SQL语句
$sql = "select * from 表名";
// 4.执行SQL语句
// 注意: 查询SQL返回的是对象, 增加,删除,修改SQL语句返回的是Boolean类型
$result = mysqli_query($link, $sql);
// var_dump($result);
// 5.判断并且处理结果 mysqli_num_rows --> select语句
if ($result && mysqli_num_rows($result) > 0) {
  // echo json_encode(mysqli_fetch_all($result));   // 返回的二维数组数组 只有value没有key
  $jarr = array();
  // 将结果集转成数组对象
  while ($rows = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  	// 将数据一条一条加入$jarr中
    array_push($jarr, $rows);
  }
  // 返回json格式数据(可以正常显示中文)
  echo json_encode($jarr, 256);
} else {
  echo "null";
}
// 5.判断并且处理结果 mysqli_affected_rows --> 非select语句
// if ($result && mysqli_affected_rows($link) > 0) {
// if ($result && mysqli_num_rows($result) > 0) {
// echo '<script>alert("查询数据成功!")</script>';
// } else {
// echo '<script>alert("处理数据失败!")</script>';
// }

// 6.释放数据集内存 关闭数据库
mysqli_free_result($result);
mysqli_close($link);

连接数据库失败分析
1. 检查Apache,MySQL有没有启动
2. 检查ip/本机地址, 数据库账号密码,数据库名是否正确
3. 检查有没有网络(如果上面是ip地址)
4. 直接显示php文件,站点未启用

如何向这个php文件发网络请求?

// 这里就用原生简单实现一下
var xhr = new XMLHttpRequest();
xhr.open("GET", "上面那个php文件的地址");
xhr.send();
xhr.onreadystatechange = function () {
  if (xhr.readyState == 4 && xhr.status == 200) {
    console.log(JSON.parse(xhr.responseText));
  }
}
xhr.onerror = function(err) {
  console.log("请求出错了!")
}

网络请求错误分析
1. 请求的php接口地址不正确
2. Apache,MySQL没有启动
3. 站点未启用

有关站点未启用的问题请查看另一篇博客

https://blog.csdn.net/FingertipBeating/article/details/121355302

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值