簡體   English   中英

使用PHP和angular.js將值返回到錯誤回調函數

[英]Return value to error callback function using PHP and angular.js

當無法使用PHP和angular.js執行sql查詢時,我需要將值返回給錯誤回調函數。我在下面解釋我的代碼。

session.php:

<?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);
?>

dashboardController.js:

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);
     });
})

在這里我的要求是查詢何時執行變量$data將返回成功回調函數,而當由於任何錯誤的id而不會執行時一些消息將返回錯誤回調函數。請幫助我。

$http response回調參數需要服務器狀態碼 ,而不是SQL錯誤或任何其他類型的消息。 因此,無論如何,如果您遇到查詢錯誤(甚至是沒有結果的成功查詢),那么如果HTTP請求的諾言得以實現,您將獲得成功 ,但響應將是SQL錯誤消息(或代碼)(如果有的話)。

您必須檢查PHP內部的查詢問題並在那里進行處理。 然后,如果需要,您可以發送帶有新HTTP狀態響應的標頭,或者僅發送原始消息文本。

例如:

<?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);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM