gpt4 book ai didi

php - CodeIgniter 数据库访问的奇怪问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:50 25 4
gpt4 key购买 nike

我正在使用 CodeIgniter 2.2 开发网络应用程序。我使用了将近 20 个表和不同的模型、 Controller 和 View 。每个查询都运行良好,我得到了想要的结果。

昨天我编写了一个简单的查询代码来从我的数据库中获取数据。当我在 mysql 中运行它时,查询返回结果。但是当我返回 CodeIgniter 结果集的输出时,它返回零 (0) 行。

我正在向您提供我用于调试的代码详细信息。

我的表(SQLFIDDLE 链接 Here)

CREATE TABLE IF NOT EXISTS `goal` (
`goal_id` int(11) NOT NULL,
`sub_program_id` int(11) NOT NULL,
`emp_id` varchar(20) NOT NULL,
`goal_desc` varchar(300) NOT NULL,
`goal_value` int(9) NOT NULL,
`actual_value` int(9) NOT NULL DEFAULT '0',
`start_date` date NOT NULL,
`end_date` datetime DEFAULT '0000-00-00 00:00:00'
);
ALTER TABLE `goal`
ADD PRIMARY KEY (`goal_id`);
ALTER TABLE `goal`
MODIFY `goal_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=34;
INSERT INTO `goal`
(`goal_id`, `sub_program_id`, `emp_id`, `goal_desc`, `goal_value`, `start_date`, `actual_value`, `end_date`)
VALUES
(1, 103, 95113, 'dxgdsfg', 34, '2015-07-30', 0, '0000-00-00 00:00:00'),
(2, 103, 920836, 'cvbn', 34, '2015-07-30', 0, '0000-00-00 00:00:00'),
(3, 101, 95113, 'fgh', 45, '2015-07-29', 0, '0000-00-00 00:00:00'),
(4, 101, 95113, 'fgh', 45, '2015-07-29', 0, '0000-00-00 00:00:00'),
(5, 103, 95113, 'fgh', 45, '2015-07-29', 0, '0000-00-00 00:00:00'),
(6, 101, 920836, 'fgh', 45, '2015-07-29', 0, '0000-00-00 00:00:00'),
(7, 101, 95113, 'fgh', 45, '2015-07-29', 0, '0000-00-00 00:00:00')

当我尝试从 mysql 运行此查询时

SELECT sub_program_id, max(goal_id) as new_goal FROM goal where emp_id='95113' group by sub_program_id

我得到 2 行:

enter image description here

我在 CodeIgniter 中做同样的事情,我的调试代码如下。

$qbik="SELECT sub_program_id, max(goal_id) as new_goal FROM goal where emp_id='95113' group by sub_program_id";
$qrbik=$this->db->query($qbik);
if($qrbik)
echo '<br>Number of rows: '.$qrbik->num_rows();
$x=$qrbik->result();
echo '<br>Result: '; print_r($x);
echo '<br>SQL Query: '.$qbik;
echo '<br>Last Query that run on database using codeigniter: '.$this->db->last_query();
exit;

CodeIgniter 的输出:

enter image description here

这对我来说很奇怪。

最佳答案

试试这个:

function result()
{
$query=$this->db->query("SELECT sub_program_id, max(goal_id) as new_goal FROM goal where emp_id='95113' group by sub_program_id");
$result = $query->result_array();//assign data to objective array
$count = count($result);//get count

if (!empty($count))
{
//if $result having one or more answer it comes to this
echo '<br>Number of rows: '.$count;
echo '<br>Result: '.print_r($result);
//echo '<br>SQL Query:'.$qbik;
//echo '<br>Last Query that run on database using codeigniter: '.$this->db->last_query();

}
else
{
echo 'Nothing selected form database';
}
}

关于php - CodeIgniter 数据库访问的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31960461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com