SQL查询在phpmyadmin中工作,但PHP无法将数据发送回Ionic

SQL查询在phpmyadmin中工作,但PHP无法将数据发送回Ionic,php,mysql,sql,json,Php,Mysql,Sql,Json,如果类中有多个学生,则下面的SQL查询可以工作,但如果只有一个学生,则无法工作。您将在下面看到if/else的用法 现在,即使我去掉其中一个变量(任意一个),查询也不起作用 以下是github.pages上的应用程序- 登录:nicolesuivant@email.com 密码:intervenant 登录后,选择议程并查看9月份。突出显示的日子有下面列出的课程,单击这些课程,会显示学生列表,除非课程是“独立RDV”,控制台日志中显示错误,“无法将未定义或null转换为对象”,我理解这意味着没有

如果类中有多个学生,则下面的SQL查询可以工作,但如果只有一个学生,则无法工作。您将在下面看到if/else的用法

现在,即使我去掉其中一个变量(任意一个),查询也不起作用

以下是github.pages上的应用程序-

登录:nicolesuivant@email.com 密码:intervenant

登录后,选择议程并查看9月份。突出显示的日子有下面列出的课程,单击这些课程,会显示学生列表,除非课程是“独立RDV”,控制台日志中显示错误,“无法将未定义或null转换为对象”,我理解这意味着没有数据传回IONAL ts文件

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, Content-Type");
require_once("connection2.php");
$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);

if (isset($_POST["date"])) {
    $origDate = date("Y-m-d", strtotime($_POST['date']));
    $date = $origDate;
    $id = $_GET['id'];
    $id_planning = $_POST['id_planning'];

    $getClasse = $conn->prepare("SELECT * FROM planning WHERE id_planning = :id_planning");
    $getClasse->execute([':id_planning' => $id_planning]);
    $details = $getClasse->fetchAll();
    $classe = $details[0]['classe'];
    $nom = $details[0]['nom'];
    $lieux = $details[0]['lieux'];

    $stmt = $conn->prepare("SELECT * FROM users WHERE `nom` = :nom");
    $stmt->execute([':nom' => $nom]);
    if ($stmt->rowCount() > 0) {
        $output = array();
        $output = $stmt->fetchAll();
        var_dump($output);
        $newOutput = array();
        array_push($newOutput, $output, $id_planning, $lieux);
        echo json_encode($newOutput);
    } else {
        $stmt1 = $conn->prepare("SELECT * FROM users WHERE `classe` = :classe");
        $stmt1->execute([':classe' => $classe]);
        if ($stmt1->rowCount() > 0) {
            $output1 = array();
            $output1 = $stmt1->fetchAll();
            $newOutput1 = array();
            array_push($newOutput1, $output1, $id_planning, $lieux);
            echo json_encode($newOutput1);
        }
    }
}

$stmt->rowCount()>0的目的是什么?为什么设置
$output1=array()到一个空数组,只是为了立即覆盖它?这就是我如何学会的。如果没有返回任何内容,则不会回显json。如果返回的结果超过0,则它将继续并执行下面列出的任务。是的,我想这不是必需的。