2

我需要使用 PHP 从 C# 项目访问我主机上的 MySQL 数据库。我正在学习 PHP 和 mysqli 以便能够做到这一点。我不知道在哪里对信息进行实际排序。查询通过 $_POST 变量来自我的 C# 应用程序并获取请求的数据。但是,我似乎受限于如何将其恢复到我的应用程序中。我可以将它作为一个长字符串发送并在 C# 中重新组织它。或者创建复杂的 for 循环,仍然需要在 C# 端进行大量排序。我确定我只是不熟悉 PHP 和 mysqli。谁能推荐一个工作流程?谢谢。

4

1 回答 1

0

您可以通过多种方式将其传递回您的 C# 应用程序。JSON 和 XML 非常流行。对于这个答案,我将讨论使用 JSON。

在 PHP 方面,您需要获取数据并使用json_encode将其转换为 JSON 格式。在 C# 方面,您会将其从 JSON 转换为 C# 对象。虽然有一些方法可以在 C#( DataContractSerializerJavaScriptSerializer )中内置,但由于实现和性能,.NET 中的最佳选择是Newtonsoft 的 Json.NET

更新...添加一个粗略的例子。

PHP

if ($result = $mysqli->query("SELECT One, Two FROM MyTable")) {
    $jsonResult = json_encode($result);     

    /* free result set */
    $result->close();
}

// Now send back $jsonResult

C#(使用 JSON.net/JObject...你也可以创建一个实际的对象来反序列化)

string phpResponse = /* Add wherever you got your data from */;
JObject myResult = JObject.Parse(phpResponse);
于 2012-07-13T02:22:34.917 回答