写最近开源项目的时候,遇到一个问题

292 阅读1分钟

几天在写最近开源项目的时候,遇到一个问题就是如下

在这里插入图片描述

贴一下源码

<?php  
include 'codeBack.config.php';
include "connectMysql.php";
include "empty.php";
header("connection","keep-alive");
$date = $_POST["date"];
$morning = $_POST["morning"];
$afternoon = $_POST["afternoon"];
$evening = $_POST["evening"];
$other = $_POST["other"];
$userid = $_POST["user_id"];
$token = $_POST["token"];
$ac_user_sql = "SELECT * from ac_user WHERE user_id='$userid' AND token='$token'";
$ac_user_result = $mysqli->query($ac_user_sql);
$ac_user_row = mysqli_fetch_object($ac_user_result);
if($ac_user_row->token == $token && $ac_user_row->user_id == $userid){
	// 查找成功
	$ac_user_info_sql = "INSERT INTO ac_user_info (date,morning,afternoon,evening,other,user_id) VALUES('$date','$morning','$afternoon','$evening','$other','$userid')";
	$ac_user_info_result = $mysqli->query($ac_user_info_sql);
	if($ac_user_info_result){
		// 插入成功
		$data = [
			"code"=>$CodeBack["ADDINFO_SUCCESS_CODE"],
			"user_id"=>$ac_user_row->user_id,
			"id"=>$mysqli->insert_id,
			"message"=>"添加成功",
		];
		echo json_encode($data);
	}else {
		$data = [
			"code"=>$CodeBack["ADDINFO_FAILED_CODE"],
			"message"=>"添加失败,请稍后再试",
		];
		echo json_encode($data);
	}
}

因此便有了这篇文章,所以就来写写他们的区别吧

1、mysqli_fetch_row()

mysqli_fetch_row每次从执行从结果集中取出一条数据并以索引数组的形式返回,数组的索引对应查询时字段的顺序

例如select *查询所有字段,则返回结果$row[0]对应number字段,$row[3]对应job字段

对数组的操作只能采用数字索引

当取到最后一条结果后,下一条返回空(false)

2、mysqli_fetch_assoc() mysqli_fetch_assoc返回关联数组,数组索引对应字段的关键字,对数组的操作只能采用关键字

3、mysqli_fetch_array() mysqli_fetch_array默认返回索引与关联数组,对数组操作可用采用数字索引或关键字 其第二个参数可选:MYSQL_NUM(只返回索引数组),MYSQL_ASSOC(只返回关联数组)

4、mysqli_fetch_object() mysqli_fetch_object返回一个数组对象,以对象属性的方式操作数据

四种方式最主要的区别是返回数组的形式不同,在实际编程中可用按需要进行选择。 文章参考自:blog.csdn.net/thevictory/…