php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
来源:互联网 发布:用文言文说网络流行语 编辑:程序博客网 时间:2024/05/18 13:25
排查问题1、$res = odbc_exec($this->conn,$sql);查看执行是否正确。使用 $errorcode=odbc_error($res); var_dump(odbc_errormsg());,均返回null
排查问题2、打印出的sql语句,与复制到sqlsever查询器中语句,发现sqlserver查询器会自动检查语法错误,如联合表查询,查询器将会自动将语句中使用的字段匹配上数据表名。
这就是为什么同样的语句在sqlserver查询器中可以执行,在php代码中不能执行的原因了。特此谨记,联合表查询一定要带上数据表名
排除问题3.在我将所有表名补充完整后,还是不能执行,最终发现,在我使用 while(odbc_fetch_row($res))之前,调试的时候将var_dump(odbc_fetch_row($res));进行了打印,结果就一直查询不出来,去掉调试的语句,执行结果正常。
public function query($sql) { // $sql="select * from orgsignin where orgid=8100001"; if (!function_exists('odbc_fetch_array')) { function odbc_fetch_array($result, $rownumber=null) { $array = array(); if (!($cols = odbc_fetch_into($result, $result_array, $rownumber))) { return false; } for ($i = 1; $i <= $cols; $i++) { $array[odbc_field_name($result, $i)] = $result_array[$i - 1]; } return $array; } } else { // echo "fuc exit;"; // print_r($this); $res = odbc_exec($this->conn,$sql); // var_dump($this->conn); var_dump($res); $errorcode=odbc_error($res); // var_dump($errorcode); // var_dump(odbc_errormsg()); $thisData = ""; $i = 0; $j = 0; $num_rows = 0; // var_dump(odbc_fetch_row($res)); // var_dump(odbc_fetch_row($res)); while(odbc_fetch_row($res)) { $num_rows++; //Build tempory for ($j = 1; $j <= odbc_num_fields($res); $j++) { $field_name = odbc_field_name($res, $j); // $this->temp_fieldnames[$j] = $field_name; $ar[$field_name] = odbc_result($res, $field_name) . ""; } $thisData[$i] = $ar; $i++; } } var_dump($thisData); return $thisData;
0 0
- php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
- php使用ODBC连接sqlserver问题
- 在SQLServer 2000中,使用SQL语句判断某一字段是否为空
- PHP中执行dql语句返回的result存不存在与是否为空的问题
- php中使用sql语句的引号问题
- php如何判断SQL语句的查询结果是否为空?
- PHP+MYSQL中使用PDO中执行SQL语句
- SQLSERVER在JDBC中使用插入语句并返回结果集的问题
- 想用nbtstat.exe执行发现执行结果为空,但是在命令窗口中执行时可以的,那位遇到过同样的问题?
- 在使用mybatis时遇到查询结果返回为空的情况,但是查数据库能查到
- 在使用mybatis时遇到查询结果返回为空(NULL)的情况,但是查数据库能查到
- sql语句中尽量不要使用复杂的函数运算
- php使用中遇到的问题
- 如何把代码中的SQL语句改成可以直接在数据库中运行的SQL语句
- 在 MySQL 数据库中使用 C 执行 SQL 语句
- [转] 在 MySQL 数据库中使用 C 执行 SQL语句
- 在MySQL数据库中使用C执行SQL语句
- [转] 在 MySQL 数据库中使用 C 执行 SQL语句
- Log4j2介绍和特性实例(三)--日志的异步输出
- Arduino - 中断的使用
- SQL语句,数据更新,数据插入删除修改和对视图的更新操作
- Python爬虫初步
- [leetcode] 66. Plus One 解题报告
- php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
- 三种方法实现js跨域访问
- 黑马程序员——面向对象
- DS8880要将双控高端存储架构进行到底
- C#检测网络连接
- 算法导论 主项定理
- Ionic安装过程中的问题及解决方法
- Tomcat中监控JVM内存使用情况(问题补充)
- 关于Git@OSC的那点事