Javascript 使用PHP和angular.js向错误回调函数返回值

Javascript 使用PHP和angular.js向错误回调函数返回值,javascript,php,angularjs,Javascript,Php,Angularjs,当sql查询无法使用PHP和angular.js执行时,我需要返回error callback函数的值 session.php: 这里我的要求是当查询将执行变量时,$data将返回到成功回调函数,当它由于任何错误id而不执行时,一些消息将返回到错误回调函数。请帮助我。$http

当sql查询无法使用PHP和angular.js执行时,我需要返回error callback函数的值

session.php:


这里我的要求是当查询将执行变量时,
$data
将返回到成功回调函数,当它由于任何错误id而不执行时,一些消息将返回到错误回调函数。请帮助我。
$http
回调参数需要一个服务器状态代码,不是SQL错误或任何其他类型的消息。因此,无论如何,如果您得到一个查询错误(或者甚至是一个没有结果的成功查询),如果HTTP请求的承诺得到满足,您将收到成功,但是响应将是SQL错误消息(或代码),如果处理过的话

您必须检查PHP内部的查询问题并在那里进行处理。然后,如果需要,您可以发送带有新HTTP状态响应的头,或者只发送原始消息文本

例:



响应回调参数只需要服务器状态代码,而不是SQL错误。所以,无论如何,如果您得到查询错误,如果HTTP请求的承诺得到满足,您将获得成功,但响应将是SQL错误。您必须检查PHP内部的错误并在那里进行处理@AlanMachado:我没有收到任何与sql相关的错误,我只需要根据我的要求返回值。在这里,值始终返回到成功回调函数。我认为您需要更改PHP脚本,以发送一些错误状态代码,如4XX或5XX,以防出现任何查询错误。只有这样,错误回调才会被调用,您才能处理发生的事情。请注意,您的PHP不会测试您的查询是否有错误,它假定查询会成功。您可以“伪造”您的查询测试以发送一些HTTP状态响应,因此会调用errorCallback,但我不建议这样做,因为您将逃避错误回调的目的,这是在处理与HTTP状态直接相关的问题。@Arkantos:这里我没有任何错误。我的要求是,当select查询由于任何错误id而无法执行时,alsert消息将返回错误回调函数。
<?php
session_start();
$connect = mysqli_connect("localhost", "root", "Oditek123@", "******");
$result = mysqli_query($connect, "SELECT * FROM db_Admin_Master WHERE id=". $_SESSION["admin_id"]);
$data = array();
while ($row =mysqli_fetch_assoc($result)) {
  $data[] = $row;
}
    print json_encode($data);
?>
var dashboard=angular.module('Channabasavashwara');
dashboard.controller('dashboardController',function($scope,$http){
     $http({
         method: 'GET',
         url: 'php/Login/session.php',
         headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
     }).then(function successCallback(response){
         //console.log('session',response);
         $scope.userType=response.data[0].user_name;
     },function errorCallback(response) {
         //console.log('session',response);
     });
})
<?php
session_start();
$connect = mysqli_connect("localhost", "root", "Oditek123@", "******");
$result = mysqli_query($connect, "SELECT * FROM db_Admin_Master WHERE id=". $_SESSION["admin_id"]);
$data = array();
if ($result) { // if everything goes ok
    while ($row =mysqli_fetch_assoc($result)) {
      $data[] = $row;
    }
} else { // else, send error
    $data['errno'] = mysqli_errno($connect);
    $data['error'] = mysqli_error($connect);
}
        print json_encode($data);
?>