【发布时间】:2012-01-02 14:43:31
【问题描述】:
当控制器请求获取某个用户的所有消息时,我的模型中有此代码:
public function get_messages($user_id) {
$sql = "SELECT *
FROM messages
WHERE `to` = '$user_id'
ORDER BY id DESC";
$query = $this->db->query($sql);
foreach($query->result() as $row) {
$messages[] = array(
'id' => $row->id,
'to' => $row->to,
'from' => $row->from,
'message' => $row->message,
'star' => $row->star,
'timestamp' => $row->timestamp
);
}
return $messages;
}
这是我控制器中的代码:
$result = $this->inbox_m->get_messages($user['id']);
如何使用 PHP 的 json_encode() 函数将结果作为 JSON 对象返回?
通常我会为简单的回报做这样的事情:
json_encode(array('result' => true))
但数组中的所有这些数组都让我感到困惑。
编辑
没关系,伙计们,应该在发布之前实际尝试过。这工作得很好:
echo json_encode(array('result' => $result));
我会在帐户允许的情况下关闭问题。
【问题讨论】:
-
警告 - 您的代码容易受到 sql 注入的影响。
-
@DanielA.White:正确的词是“易感”。而且没有办法知道它是否存在。他可能在调用该方法之前清理了
$user_id参数。 -
已修复。但我只是指出来。
-
@BryanRoss - 我责怪 iPhone 的自动更正功能。
-
谢谢,但我正在清理所有用户并获取和发布输入。
标签: php javascript json model-view-controller