2014-07-04 72 views
0

我不太確定我知道如何正確地問這個問題..但這裏沒什麼。我使用PHP文件從MYSQL數據庫查詢數據。在Xcode中,我使用NSJSONSerialization並獲取信息。 PHP文件需要位於數據庫所在的主機的計算機上。將PHP文件存儲在項目目錄中,或者不存在?

問題:有什麼辦法可以將PHP文件放到iOS項目的目錄中,這樣我就不必手動將PHP文件放到每臺連接的主機的數據庫位置上了?

下面僅僅是我用來連接到MYSQL,查詢等的PHP文件的一個例子。

$mysqli = new mysqli("localhost", "root", $_REQUEST['password'], $_REQUEST['db']); 

$moneyFormat = "0.00"; 
$moneyChar = "$"; 

if ($mysqli->connect_errno) { 
echo "Failed to connect to DB."; 
die(); 
} else { 
if ($_REQUEST['type'] == "basic") { 
    $includeTaxes = false; 
    $netSales = 0; 
    $voidSales = 0; 
    $discountSales = 0; 
    $guestCount = 0; 
    $loggedIn = 0; 

    $res = $mysqli->query("SELECT MoneyEXCH, include_taxes FROM it_tcompany"); 
    $res->data_seek(0); 
    $row = $res->fetch_assoc(); 
    if ($row['include_taxes'] == "0") { $includeTaxes = false; } else { $includeTaxes = true; } 
    $moneyExch = $row['MoneyEXCH']; 
+0

簡而言之,PHP文件需要運行一個SERVER(例如:--APACHE)。由於iOS應用程序中沒有服務器,PHP文件將被視爲正常的HTML文件。所以你必須把你的PHP文件放到你的主機的數據庫所在的計算機上。 –

+0

好吧,我明白這一點。是否有可能從iPhone直接連接到MYSQL數據庫,所以我不需要PHP文件?謝謝 – Machina

+1

不,這也是不可能的,你需要'PHP,ROR,JAVA等'來連接MySql服務器。 –

回答

3

那麼,你的問題的正確答案是否定的。但我認爲你誤解了Web服務器的一些概念。讓每個用戶都運行自己的數據庫並不理想(如果我誤解了你的話,很抱歉)。數據庫和Web服務器將在其他地方運行。正確的方法是你只有一個位置(技術上是兩個,一個用於開發,另一個用於生產)

1

我同意別人的看法,這看起來不像是正確的設計決定。

也就是說,有些服務可以讓你直接從iOS獲取信息,而無需任何php。如果出於某種奇怪的原因,您必須爲每個用戶都有單獨的數據庫,那麼您可以使用這些服務之一。亞馬遜例如有一個SDK for it's AWS服務,它提供了幾個雲存儲選項。 Google Cloud也是如此。

+0

太好了,謝謝!是的,我正在爲POS系統公司建立一個應用程序,每個店主都爲他們的(多個)商店建立一個數據庫。 – Machina

+1

有人認爲它是這樣的。您應該檢查POS公司是否將數據上傳到雲並提供一個sdk來訪問它。 – Mika

相關問題