我以前在iPhone應用程序中使用過sqlite3,但是如何查詢到位於我的網站上的外部SQL數據庫?如何查詢外部SQL數據庫 - iPhone應用程序
回答
您的應用不會執行實際的查詢。這樣做的正確方法是爲您的網站設置一個API,以便該網站執行查詢並將適當的數據返回給您的應用程序。
您的API通常將包含許多返回爲您的應用程序格式化的數據的終點。例如,您可以創建一個PHP或Python頁面來查詢數據庫中給定用戶的所有帖子,並以JSON或XML編碼數組的形式返回它們。 (數據格式完全取決於你,有用於解析iOS的兩種格式的框架)。
例如,假設你的服務器上有一個PHP頁面,它返回當前的星期幾。你的PHP將是這個樣子:
<?php
echo date("l");
?>
讓我們想象一下,你已經保存以此爲http://example.com/dayoftheweek.php
我建議使用從你的應用程序中執行HTTP請求ASIHTTPRequest框架。這就是說,讓我們繼續並建立到您的PHP頁面的連接。假設你已經ASIHTTPRequest都設立了你的項目,這裏有一個請求可能是什麼樣子:
NSURL *url = [NSURL URLWithString:@"http://example.com/dayoftheweek.php"]
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDelegate:self];
現在,你需要實現ASIHTTPRequest委託方法,解析返回的數據。處理已完成請求的方法如下所示:
- (void)requestFinished:(ASIHTTPRequest *)request{
//Here you would store the returned data and/or parse it
}
要實現API,您的PHP頁面將更加複雜。你會構建一個更復雜的請求,傳遞變量等,PHP頁面就像普通的Web服務一樣,返回你請求的數據。
我認爲你的意思是MySQL。通常從外部訪問MySQL數據庫是有原因的。你可能想編寫一個訪問你的數據庫的API。您的iPhone應用程序將與此API進行通信以插入和檢索數據。
那麼,什麼樣的API?我會像一些PHP腳本或什麼嗎? – StanLe
是的。你可以做的最簡單的事情是一個PHP腳本,它根據傳遞給它的參數返回JSON或XML格式的數據。然後,使用ASIHTTPRequest以及周圍的許多JSON和XML庫之一(我推薦用於JSON的YAJL和用於XML的GData)來從應用程序解析數據,並使用它進行操作。 – pt2ph8
您可以使用Web服務。假設你想從服務器數據庫獲取某個用戶的ID。要實現這一點,可以有一個Web服務API - (NSNumber *)IDForUserWithName:(NSString *)用戶名。這個調用會發送到您的服務器,該服務器在內部爲從數據庫傳入的用戶名獲取ID。 – Subhash
@StanLe:你不能直接在本地應用程序中使用SQL Server或mySQL。但是,您可以通過以下方式將應用程序與外部SQL數據庫進行通信。
- 使用PHP或C#或任何提供XML文件的工具創建XML API。
- 在xcode中使用一些解析器(NSXMLParser),它可以讀取XML頁面的標籤。
這裏是example
這裏是sample Code
另一個非常Simple Example
如果仍然混淆,請回信。
我對PHP有點熟悉,並曾在PHP中做過SQL查詢。唯一引起我關注的是我將查詢結果打印到控制檯(到電腦屏幕)。我將如何收集這些結果並在Objective-C中讀取它們? – StanLe
你能告訴我一些細節,比如你正在使用什麼數據庫和平臺,以及你想在本機應用中看到什麼樣的結果? – Xorsat
卓越的鏈接。我堅持的唯一的事情是如何在我的服務器上運行一個php文件,例如來自objective-c的www.mysite.com/myfile.php,並將結果返回。我希望能夠運行一個具有特定輸入(例如名稱)的php文件,該文件將用於查詢數據庫。然後,PHP將從我的MySQL數據庫中返回一行。然後我的Objective-C會得到這個結果。 – StanLe
- 1. 如何在應用程序外部連接/查詢HSQL數據庫?
- 2. iphone html5應用程序(本地數據庫,外部訂閱)
- 3. 包括外部sqlite3數據庫到iPhone應用程序
- 4. 如何從外部SQL數據庫將數據導入Android應用程序?
- 5. iPhone =如何查看iPhone SQLite數據庫進行修改外部
- 6. 如何將外部數據庫連接到應用程序
- 7. 如何從外部應用程序寫入流星數據庫?
- 8. 如何從Web應用程序外部連接到數據庫?
- 9. 在應用程序外部顯示iPhone核心數據數據庫
- 10. iPhone應用程序查詢
- 11. iPhone應用程序查詢
- 12. iOS/Objective-C - 如何從iPhone應用程序查詢Web服務器數據庫?
- 13. 將外部mysql數據庫連接到django應用程序並進行查詢
- 14. 從本機iOS查詢SQL Server數據庫應用程序
- 15. 如何使用C#應用程序查詢MS Access數據庫?
- 16. 數據庫SQL查詢錯誤外鍵
- 17. 使用外部數據庫部署Web應用程序
- 18. 如何從我的rails應用程序查詢數據庫?
- 19. 如何查詢谷歌應用程序引擎數據庫
- 20. 從Android應用程序傳輸數據到外部數據庫
- 21. Android查詢外部MySQL數據庫
- 22. 從iPhone應用程序遠程訪問SQL數據庫
- 23. Android應用程序的內部數據庫和外部數據庫
- 24. iPhone應用程序數據庫:MySQL&SQLite
- 25. iPhone應用程序數據庫
- 26. 數據庫+同步(iPhone應用程序)
- 27. 如何從iPhone應用程序連接到遠程數據庫?
- 28. 如何從iPhone應用程序訪問遠程MySql數據庫
- 29. iPhone應用程序 - 本地與外部
- 30. 如何查詢SQL Server數據庫?
但什麼類型的http請求?我如何製作API?那是PHP?這將是一個如何做到這一點的例子? – StanLe
我不認爲他真的需要重複的答案。 – pt2ph8
@StanLe - 我已經更新了一個基本的例子。 @ pt2ph8 - 我也不這麼認爲,這就是爲什麼我更新了我的答案。 ;-) – Moshe