如何在CodeIgniter(CI)中打印输出含多个where子句的查询内容
问题原因
get()方法返回的是CodeIgniter框架的CI_DB_result查询结果对象,该对象没有定义字符串输出的魔术方法,直接使用echo输出时不会返回任何可打印内容,也不会抛出错误。
解决方法
需要先调用结果对象的对应方法提取实际查询数据,再使用数组打印函数输出:
1. 获取全部匹配结果(数组格式)
$queryDB = $this->db->select('*') ->from('dr_template_relational') ->where('value_id', $categoryDetails['value_id']) ->where('subcategory_id', $categoryDetails['subcategory_id']) ->get(); // 提取全部结果为二维数组 $result = $queryDB->result_array(); echo "<br>"; echo "here is queryDB"; // 使用print_r打印数组,echo无法直接输出数组内容 print_r($result); echo "that was it";
2. 获取单条匹配结果(数组格式)
如果确认只会返回一条数据,可以调用row_array()方法提取一维数组:
$singleResult = $queryDB->row_array(); print_r($singleResult);
额外验证
可以先打印匹配行数确认查询是否真的命中数据:
echo "匹配数据行数:" . $queryDB->num_rows();
内容的提问来源于stack exchange,提问作者FabricioG
相关产品推荐
相关产品推荐

