我試圖在我需要通過PDO連接到MSSQL數據庫的環境中使用Fat Free Framework。我編寫了一些代碼來測試數據庫查詢功能。這是我的第一次嘗試:F3不從SQL Server數據庫中提取模式?
$f3->route('GET /datasets/read', function($f3) {
$db = new DB\SQL('sqlsrv:Server=192.168.**.**;Database=test',"sa","*****");
$results = $db->exec('SELECT * FROM builds');
var_dump($results);
});
這工作正常。我看到builds
表中所有記錄都有一個很好的轉儲。到現在爲止還挺好。
我試圖使用該框架提供的ORM方法的下一件事:
$f3->route('GET /datasets/read', function($f3) {
$db = new DB\SQL('sqlsrv:Server=192.168.**.**;Database=test',"sa","*****");
$builds =new DB\SQL\Mapper($db,'builds')
$builds->load();
});
然而,這將失敗。生成的查詢沒有字段(這是產生準確的查詢:SELECT FROM builds
),這將導致:
內部服務器錯誤
PDOStatement對象:[微軟] [SQL Server本機客戶端11.0] [SQL 服務器]關鍵字 'FROM' 附近有語法錯誤:
[call stack]...[/call stack]
我在做什麼這裏正確嗎?我無法想象連接字符串有問題,因爲它在使用原始SQL方法時可以很好地檢索數據。需要某種配置來啓用表到實體映射?
我跟隨着指南here,以供參考。
阿薩德謝謝指出這個錯誤。你能否在[Github](https://github.com/bcosca/fatfree/issues)上創建一個問題,以便你的修復被合併到代碼中? – xfra35
@ xfra35打開一個問題[這裏](https://github.com/bcosca/fatfree/issues/565)。我個人的看法是,這不是一個很好的解決方案,而是更多的權宜之計。 –