PHP CodeIgniter 外部 API 调用

标签 php codeigniter mysqli

我刚刚开始进入 CodeIgniter 框架,并且仍在习惯模型- Controller - View 设置。

我有一个名为“Customer”的 Controller 类,它包含我需要访问的以下代码:

function loadCustomer(){
    if(!empty($_POST)){
        $result['Success'] = 0;
    $user = $this->User->LoadUser($_POST['UserID']);
    if($user){
        $result['Success'] = 1;
            $user->Package = $this->User->GetPrimaryPackage($user->UserID);
            $user->AccountAlerts = $this->User->GetAccountAlertOptions($user->UserID);
            $_SESSION['User'] = $user;
            $_SESSION['UserLoggedIn'] = true;

            $result['User'] = $user;
            $result['UserLoggedIn'] = true;

        }

        echo json_encode($result);
    }
    else
        return null;
}

名为“User”的模型包含以下内容:

function LoadUser($UserID = null){
    if(!$UserID){
        trigger_error("No userid supplied.", E_USER_ERROR);
        exit();
    }
    $result = $this->db->query("SELECT * FROM mydb.tblUsers where UserID='$UserID';")->row();
    if(!empty($result)){
        return $result;
    }
    else{
        return null;    
    }
}

我正在使用以下代码,我需要能够访问 Customer 中的“loadCustomer()” 函数,以便我可以根据 UserID 执行自动登录:

<?php

$con = mysqli_connect('localhost','root','root','mydb');
if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"mydb");

$sql = "SELECT * FROM incoming_calls";
$result = mysqli_query($con,$sql);

while ($row = mysqli_fetch_array($result)) {
    if (!empty($row)) {
        $number = $row['phone_number'];
    }
}

$sql = "SELECT Username, UserID, Name
    FROM tblUsers 
    WHERE PhoneHome='$number' OR PhoneCell='$number' OR PhoneWork='$number'";

$result = mysqli_query($con,$sql);

while ($row = mysqli_fetch_array($result)) {
    $userArray[] = array("name" => $row['Name'], "username" => $row['Username'], "user_id" => $row['UserID']);
}

if (!empty($userArray)) {
    echo json_encode($userArray);
}

mysqli_close($con);

?>

我该如何解决这个问题,非常感谢任何帮助?

最佳答案

我希望您的模型有更多的内容,因为您发布的模型没有所需的类结构。

请查看此内容: https://ellislab.com/codeigniter/user-guide/general/models.html

CodeIgniter 的文档将成为您最好的 friend 。 ...大多数时候,我遇到过一些文档遗漏某些内容的情况,但这种情况非常罕见,在这一点上 Google 是您最好的 friend 。

我还建议使用 CodeIgniter 的 session 库。因为它不太容易出错,更容易使用,并且包含一些简洁的功能......

https://ellislab.com/codeigniter/user-guide/libraries/sessions.html

示例代码:

Controller :

class MyPage extends CI_Controller
{
    function index()
    {
          $this->load->model("user");
          $sum = $this->user->doWork(4, 4);
    }

}

型号

 class User extends CI_Model {

      function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

    public function doWork($x, $y)
    {
      return $x + $y;
    }

 }

关于PHP CodeIgniter 外部 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533927/

相关文章:

php - 多语言站点: Cookie or URL Element

php - Ajax 无法在 Codeigniter 中运行

javascript - 在另一个 javascript 中使用 ajax 响应数据

PHP & MySQL : Select from where id=$id

php - 使用从 php 数据库中填充的选择来调用相关数据

php - 在函数中编写 MySQLi 准备语句的正确方法?

php - 将变量分配给数据库查询的 GET 或 POST 是否会产生影响?

php - 如何使此代码按日期排序?

php - laravel中如何在数据库表中只添加一条数据

php - Swift Php Json 汉字