Azure Mobile Service,通过PHP进行HTTP调用

时间:2013-12-28 21:23:40

标签: php android azure azure-mobile-services

我创建了一个演示应用程序“todo”app。我正在使用windows azure的移动服务。因此我有一个名为“todo”的数据库和里面的表。现在我可以从android java代码访问这个数据库(如教程中所示)。但现在我有一个网站需要访问由Android应用程序创建的这个数据库。 PHP无论如何都可以访问这个移动服务数据库? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

作为Windows Azure移动服务创建的一部分创建的数据库只是一个Windows Azure SQL数据库实例,这意味着您可以使用PHP的SQL Server驱动程序连接到它。

查看文章here如何提取 -

<?php

   $serverName = "tcp:ProvideServerName.database.windows.net,1433";
   $userName = 'ProvideUserName@ProvideServerName';
   $userPassword = 'ProvidePassword';
   $dbName = "TestDB";
   $table = "tablePHP";

   $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true);

   sqlsrv_configure('WarningsReturnAsErrors', 0);
   $conn = sqlsrv_connect( $serverName, $connectionInfo);
   if($conn === false)
   {
     FatalError("Failed to connect...");
   }

   CreateTable($conn, $table, "Col1 int primary key, Col2 varchar(20)");


   $tsql = "INSERT INTO [$table] (Col1, Col2) VALUES (1, 'string1'), (2, 'string2')";
   $stmt = sqlsrv_query($conn, $tsql);
   if ($stmt === false)
   {
     FatalError("Failed to insert data into test table: ".$tsql);
   }
   sqlsrv_free_stmt($stmt);

   $tsql = "SELECT Col1, Col2 FROM [$table]";
   $stmt = sqlsrv_query($conn, $tsql);
   if ($stmt === false)
   {
     FatalError("Failed to query test table: ".$tsql);
   }
   else
   {
      while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC))
      {
         echo "Col1: ".$row[0]."\n";
         echo "Col2: ".$row[1]."\n";
      }

      sqlsrv_free_stmt($stmt);
   }

   sqlsrv_close($conn);


function CreateTable($conn, $tableName, $dataType)
{
   $sql = "CREATE TABLE [$tableName] ($dataType)";
   DropTable($conn,$tableName);
   $stmt = sqlsrv_query($conn, $sql);
   if ($stmt === false)
   {
      FatalError("Failed to create test table: ".$sql);
   }
   sqlsrv_free_stmt($stmt);
}


function DropTable($conn, $tableName)
{
    $stmt = sqlsrv_query($conn, "DROP TABLE [$tableName]");
    if ($stmt === false)
    {
    }
    else
    {
      sqlsrv_free_stmt($stmt);
    }
}

function FatalError($errorMsg)
{
    Handle_Errors();
    die($errorMsg."\n");
}


function Handle_Errors()
{
    $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS);
    $count = count($errors);
    if($count == 0)
    {
       $errors = sqlsrv_errors(SQLSRV_ERR_ALL);
       $count = count($errors);
    }
    if($count > 0)
    {
      for($i = 0; $i < $count; $i++)
      {
         echo $errors[$i]['message']."\n";
      }
    }
}

?>

答案 1 :(得分:-2)

Azure网站有一个专门的PHP部分。请查看以下链接以查找一些示例。

http://www.windowsazure.com/en-us/develop/php/