2014-07-04 134 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

相关问题