[英]CodeIgniter - Array to String conversion error
我正在創建一個函數,用於根據用戶ID獲取用戶數據。 這是我創建的功能:
function getUserData($data, $id) {
$query = $this->db->query('SELECT ' . $data . ' FROM users WHERE id = "' . $id . '"');
return $query->result();
}
我在home_view.php文件中調用此方法:
<?php $username = $this->model_users->getUserData('username', 3); ?>
當我這樣做時,我會收到一條錯誤消息:
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: views/home_view.php
Line Number: 25
有人可以告訴我為什么這樣做嗎?
getUserData()
將返回數據庫結果。 如果要它返回單值,請更新該函數以返回單值。 您仍然需要確保結果有效並可以處理錯誤,但是類似下面的內容應該可以幫助您入門
參考-https://ellislab.com/codeigniter/user-guide/database/results.html
function getUserData($data, $id) {
$query = $this->db->query('SELECT ' . $data . ' FROM users WHERE id = "' . $id . '"');
$result = $query->result_array();
return $results[$data];
}
假設您獲得有效的退貨,當您使用退貨時
result();
如果失敗,codeigniter會生成一個空數組,否則它將返回一個對象數組。 在數據庫上運行查詢,以查看其是否按照您的預期進行。
我還認為您可能應該逃避那里的那些變量。
您的函數將返回標准PHP對象數組,以訪問在此之后必須添加此行的用戶名:
<?php
$username = $this->model_users->getUserData('username', 3);
echo $username[0]->username;
?>
僅當您獲得單個記錄作為回報時,此代碼才有效。
您可以通過使用print_r()函數進行檢查,如下所示:
<?php print_r($username); ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.