作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 php odbc_connect 和 odbc_exec 查询 Access MDB 文件。我的想法是返回一个数组,然后我可以将其转换为 json。
我在 Ubuntu 12.10 上通过 apache2 运行 php
这是我的代码:
//Connect to the database
$conn=odbc_connect('stock-test','','');
//die if error
if (!$conn) {
die("Connection Failed: " . $conn);
}
//SQL query
$sql = "SELECT * FROM Stk_Items";
//This is the print command...see notes below for this
//print " "
//Execute SQL query
$rs=odbc_exec($conn,$sql);
//If no result, there is an error in the SQL
if (!$rs) {
exit("Error in SQL");
}
//Create an array to contain the results...
$arr = array();
//Loop through the results, pushing each array to the $arr array
while ($row = odbc_fetch_array($rs)) {
array_push($arr, $row);
}
print json_encode( $arr);
odbc_close($conn);
奇怪的是。如果我在发出 odbc_exec 命令之前打印空格(或任何其他字符),此代码将仅输出 json(我已在上面的代码中注释掉该命令)
我还运行了其他几个测试(回显结果等),但除非我在 odbc_exec 命令之前打印一些空格,否则没有一个会起作用。
我是否漏掉了一些明显的东西?
最佳答案
我设置了一个虚拟机并从头开始重新安装,以查看问题是否在新版本上再次存在。它没有,所以它让我相信在实时机器上构建 Apache 存在问题。在过去的几天里,我通过存储库删除和添加了 Apache,并通过 apt-get 添加了所有最新更新,现在问题似乎已解决 - 非常沮丧,因为通常会应用最新更新,所以我只能想象必须有一些东西初始安装 apache2 或 php5-odbc 时出错。
关于除非我先回显,否则 php odbc_exec 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655105/
我是一名优秀的程序员,十分优秀!