phpodbc_connectとodbc_execを使用してアクセスMDBファイルをクエリしようとしています。アイデアは、jsonに変換できる配列を返すことです。
Ubuntu12.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コマンドの前に空白を出力しない限り機能しません。
明らかな何かが欠けていますか?