簡體   English   中英

SQL從查詢中選擇返回錯誤的信息,codeigniter

[英]SQL select from query returns incorrect information, codeigniter

我正在使用codeigniter構建一個應用程序,此應用程序有一個配置文件頁面,其中顯示的所有信息均取決於當前登錄的用戶。在配置文件頁面上,我試圖設置一個生物盒,以便每個用戶都可以編寫自己的信息唯一的生物,這將存儲在數據庫中。 我當前編寫的代碼正在頁面上顯示結果,但是它不是我想要的正確結果。 我編寫的與該問題有關的代碼如下。

在模型中:

public function get_profile_information() { 

    $query = $this->db->query("SELECT profileText from users WHERE 
    idNumber = ?", $this->session->userdata('username'));

    return $query->result_array();
}

在控制器中:

public function loginprocess() { 

    $username = $this->input->post('idNumber');
    $password = $this->input->post('passWd');

    $query = $this->db->query("select * from users where idNumber='".$username."' and passWd='$password'");

    $row = $query->num_rows();

    if ($row) {

        $this->session->set_userdata(array('username' => $username));
        $sessionID = $this->session->userdata('username');

        $data['title'] = 'Profile';
        $data['profiletext'] = $this->news_model >get_profile_information();
        $data['sessionID'] = $this->session->userdata('username');

        $this->load->view('templates/header', $data);
        $this->load->view('news/profile', $data);
        $this->load->view('templates/footer');

    } else { 

        $data['error'] = 'Invalid Login Details';
        $data['title'] = 'Login';

        $this->load->view('templates/header', $data);
        $this->load->view('news/login', $data);
        $this->load->view('templates/footer');
    }
}

在視圖中:

<head>

<style type="text/css">

</style>

</head>

Welcome to the <?php echo $title; ?> page, <?php echo $sessionID; ?>

<?php var_dump($profiletext); ?>

<?php echo anchor('login/logout', 'logout'); ?>

在網頁上,基於登錄用戶從數據庫獲取配置文件文本的查詢給出了此結果

array(1) { [0]=> array(1) { ["profileText"]=> string(17) "Test Profile Text" } } 

我只是希望顯示“測試配置文件文本”。 我一直無法解決問題所在,我對Codeigniter和php還是很陌生,所以我不具備解決此問題的知識。

控制器:
在下面的行中進行少量更改

//$data['profiletext'] = $this->news_model >get_profile_information();//old line
$data['profiletext'] = $this->news_model->get_profile_information();//changes

模型:
僅獲取“測試配置文件文本”,而無需更改視圖

public function get_profile_information() { 

    $query = $this->db->query("SELECT profileText from users WHERE idNumber = ".$this->session->userdata('username'));
    return $query->row('profileText');//changes
}

您應該使用echo而不是var_dump()

描述:

var_dump(混合$ expression [,混合$ ...]):void此函數顯示有關一個或多個表達式的結構化信息,包括其類型和值。 遞歸地探索數組和對象,並縮進顯示結構的值。

除非對象實現__debugInfo()方法(在PHP 5.6.0中實現),否則對象的所有公共,私有和受保護屬性都將在輸出中返回。

更換

<?php var_dump($profiletext); ?>

通過

<?php echo $profiletext[0]['profileText]; ?>

echo根據我們在站點中的要求直接打印變量。

暫無
暫無

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

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