多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 编写一个临时PHP页面用来处理数据 在项目中遇到一些数据要进行初始化,由于数据量较大(2W+),人工处理太浪费时间,所以编写了一段代码来进行处理。 ### 功能简述 1. 只是连下数据库,输出一下数据脚本 2. 用框架太繁琐,还要配置 3. 需要在页面上输出一些调试内容 ### 知识点 1. **响应头**:默认PHP环境下的编码是**iso-8859-1**,如果直接输出中文,则会出现乱码;此外如果没有定义文本类型的话,那么浏览器可能不能识别html标签。 2. **mysqli的使用**:这里应该没什么问题,就是直接写mysqli的裸代码不熟练;另外在循环结果集的时候,php提供了N多个方法,其实用的多的大概就只有**fetch_assoc**和**fetch_object**了。 3. **超时问题**:一开始的时候想着直接在代码里面执行UPDATE脚本的,要考虑超时问题,不过后来改成直接输出,所以这部分就跳过了。 4. **编码转换**:由于数据库的编码和PHP文件的编码可能不一致,所以需要人为设置一下操作数据库时的编码格式。 ### 实现代码 ``` <?php header('Content-Type:text/html;charset=utf-8'); // 响应头 $db_host = "172.16.13.33:3306"; // 数据库地址 $db_user = "develop"; // 账号 $db_psw = "develop"; // 密码 $db_name = "awsdev"; // 数据库 $mysqli = new mysqli($db_host, $db_user, $db_psw, $db_name); if (!$mysqli) { echo "数据库连接失败"; } /* 设置数据库查询编码为utf8 */ if (!mysqli_set_charset($mysqli, "utf8")) { printf("Error loading character set utf8: %s\n", mysqli_error($mysqli)); exit(); } else { // printf("Current character set: %s\n", mysqli_character_set_name($mysqli)); } // 查询脚本 $query="SELECT * FROM `bo_act_asset_sign`"; $result = $mysqli->query($query); if ($result) { if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { // 逻辑处理以及脚本输出 } } } else { echo "查询失败"; } // 空间释放以及连接断开 $result->free(); $mysqli->close(); ```