我创建了一个演示应用程序“todo”app。我正在使用windows azure的移动服务。因此我有一个名为“todo”的数据库和里面的表。现在我可以从android java代码访问这个数据库(如教程中所示)。但现在我有一个网站需要访问由Android应用程序创建的这个数据库。 PHP无论如何都可以访问这个移动服务数据库? 提前谢谢。
答案 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部分。请查看以下链接以查找一些示例。