猿问

打印mysql语句在Navicat有返回值,但是代码运行返回是空的

问题描述

某处调用db 公共函数getRow方法,返回值是:
2018-09-14 17:11:50 ERR: Array
(

[a] => 
[b] =>

)
但是打印出运行的mysql语句在Navicat运行是有值的!
别处也调用这个方法,都是正常的,甚至这一段运行相同业务处理别的数据,返回值也是正常的

问题出现的环境背景及自己尝试过哪些方法

查看getRow内部方法 接受到的sql是正常(外部运行也是有值的),

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

    var_dump($sql);    //语句正常 外部运行有值(使用内部打印函数,不知道方不方便贴出来,就用var_dump代替)
        $res = $this->query($sql,"",$param);            
            if ($res !== false)
            {
            $res = mysql_fetch_assoc($res);
            logger::write(print_r($res, 1));            ....
            var_dump(901);
            var_dump($res);    // 2018-09-14 17:11:50 ERR: Array
                                //(
                                //    [a] => 
                                //    [b] => 
                               // )
            return $res;
            }

你期待的结果是什么?实际看到的错误信息又是什么?

请问该往哪个方向去调试,江湖救急,感谢每一个大佬的留言!


阿波罗的战车
浏览 845回答 1
1回答

茅侃侃

不会出现同一句sql 在Navicat和代码中运行结果不同的情况! 出现不同是因为,执行事务时,之前的sql语句影响到了,然后后面执行失败,回滚,导致运行结果不同。
随时随地看视频慕课网APP
我要回答