Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果行数超过15,则Postman中不会返回JSON_Php_Mysql_Json_Api_Postman - Fatal编程技术网

Php 如果行数超过15,则Postman中不会返回JSON

Php 如果行数超过15,则Postman中不会返回JSON,php,mysql,json,api,postman,Php,Mysql,Json,Api,Postman,我有一个RESTAPI,它是为获取我们正在开发的测验应用程序的问答数据而编写的,我使用的sql在API文件中如下所示。 我已经将限制设置为(限制0,15),就好像我将其更改为16一样,邮递员不会返回任何数据。下面是相同的屏幕截图 <?php include('config.php'); if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGI

我有一个RESTAPI,它是为获取我们正在开发的测验应用程序的问答数据而编写的,我使用的sql在API文件中如下所示。 我已经将限制设置为(限制0,15),就好像我将其更改为16一样,邮递员不会返回任何数据。下面是相同的屏幕截图

<?php

include('config.php');

 if (isset($_SERVER['HTTP_ORIGIN'])) {
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');    // cache for 1 day
}

// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers:
 {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

    exit(0);
  }

 $postdata = file_get_contents("php://input");
 if (isset($postdata)) 
 {
    $request = json_decode($postdata);

    $SubID = $request->SubID;

    if( isset($SubID) ) {
        $select_sql = "SELECT * FROM `questions` WHERE `subjectid` = 
   '".$SubID."'";

        $select_query = mysqli_query($con,$select_sql);
        $count = mysqli_num_rows($select_query);
        if($count>0) {
            while($fetch_obj = mysqli_fetch_array($select_query 
 ,MYSQLI_BOTH)) {

                    $SubId = $fetch_obj["subjectid"];
                    $QuestId = $fetch_obj["questionid"];
                    $QuestType = $fetch_obj["questiontype"];
                    $Quest = $fetch_obj["question"];
                    $Ans1 = $fetch_obj["answer1"];
                    $Ans2 = $fetch_obj["answer2"];
                    $Ans3 = $fetch_obj["answer3"];
                    $Ans4 = $fetch_obj["answer4"];
                    $CorrectAns = $fetch_obj["correctanswer"];
                    $Hint = $fetch_obj["hint"];
                    $DiffLevel = $fetch_obj["difficultylevel"];
                    $Status = $fetch_obj["status"];
                    $AnsDescrip = $fetch_obj["ans_description"];

                    $QuestionsList[] = array( "SubjectID" => "$SubId",
                        "QuestionID" => "$QuestId", 
                        "QuestionType" => "$QuestType", 
                        "Question" => "$Quest",
                        "Answer1" => "$Ans1", 
                        "Answer2" => "$Ans2",
                        "Answer3" => "$Ans3",
                        "Answer4" => "$Ans4",
                        "CorrectAnswer" => "$CorrectAns",
                        "Hint" => "$Hint", 
                        "DiffLevel" => "$DiffLevel",
                        "Status" => "$Status",
                        "AnsDescription" => "$AnsDescrip");

            }
                $json = array("status" => 1, 
                    "message" => "Questions list Successfully fetched", 
                    "QuestionsList" => var_dump($QuestionsList));
               /* foreach ($QuestionsList as $value) {
                    print_r($value);
                }*/
        }
        else {
                $json = array("status" => 0, "message" => "No Records 
Found.", "query" => $select_sql);
        }

    }
}
mysqli_close($con);

header('Content-type: application/json');
echo json_encode($json);

?>

当sql中的限制为0、15时,它返回如下所示的数据:

如果删除sql中的限制,它将不返回任何内容,如下所示。

这是否与php中的JSON响应数据限制有关,如果是,我在哪里可以更改?我还签入了生产现场服务器,它返回了相同的结果。 请帮我解决这个问题

关于做一个 var\u dump($QuestionList)

您的查询:

$select_sql = "SELECT * FROM `questions` WHERE `subjectid` = 
     '".$SubID."' LIMIT 0, 15";
无限制地:

$select_sql = "SELECT * FROM `questions` WHERE `subjectid` = 
     '".$SubID."'";
限制0,15中

  • 0是第一行的偏移量
  • 15是从表返回的最大行数
您的查询:

$select_sql = "SELECT * FROM `questions` WHERE `subjectid` = 
     '".$SubID."' LIMIT 0, 15";
无限制地:

$select_sql = "SELECT * FROM `questions` WHERE `subjectid` = 
     '".$SubID."'";
限制0,15中

  • 0是第一行的偏移量
  • 15是从表返回的最大行数

当您进行
var\u转储($QuestionsList)时
没有限制,您得到了什么?如果您访问数据库,只需查看查询是否直接工作。@umashankard如果是,则在database@Bara“哎呀……谢谢!”!!如果我使用dovar_dump($QuestionsList);,它将返回数据,但是它是HTML格式的。如何将其转换为JSON,或者如何获取JSON格式的数据?能否请您输入完整的代码?当您执行
var\u转储($QuestionsList)时,在执行
$json=
之后它会去哪里
没有限制,您得到了什么?如果您访问数据库,只需查看查询是否直接工作。@umashankard如果是,则在database@Bara“哎呀……谢谢!”!!如果我使用dovar_dump($QuestionsList);,它将返回数据,但是它是HTML格式的。如何将其转换为JSON,或者如何获取JSON格式的数据?能否请您输入完整的代码?在执行
$json=
之后,它会去哪里谢谢,我知道限制是什么,但我这里的问题是,如果我取消限制或将最大数字增加到16,它将不会返回任何数据,如第二个屏幕截图所示。谢谢,我知道限制的作用,但这里的问题是,如果我取消限制或将最大值增加到16,它将完全不返回任何数据,如第二个屏幕截图所示。