c# - 尝试通过我的本地主机作为后端和 c# 作为前端为我的 MySQL 数据库创建项目

标签 c# php mysql xamarin xamarin.forms

<分区>

所以我有一个后端代码,我在其中将数据库中的结果作为数组 Jobject 回显,还有一个代码(我将首先显示),当我想在我的数据库上创建一些东西时,我会尝试让一些事情发生通过我的前端。

所以我的问题是,我应该如何调整代码的第一部分,以便我的前端代码可以访问它,以便用户在前端代码中输入的信息进入数据库?

<?php 

$mysql_pekare= new mysqli ("host", " user","pass", "db");

$stmt = $mysql_pekare->prepare("INSERT INTO Events(`Name`, `Title`) VALUES(?,?)");

$stmt->bind_param("ss", $namn, $age);

$stmt->execute();

$stmt->close();

$mysql_pekare->close();

?>

最后这是我的前端代码 (C#),我尝试访问数据库和我的 PHP 代码并从我的前端在我的数据库中创建一些东西:

static public async Task <bool>  createOurMainInfo (string userId, string thename, string thetitle)
    {
        var httpClientRequest = new HttpClient ();

        var postData = new Dictionary <string, string> ();

        postData.Add ("Name", thename);
        postData.Add ("Title", thetitle);

        var jsonRequest = JsonConvert.SerializeObject(postData);

        HttpContent content = new StringContent(jsonRequest, System.Text.Encoding.UTF8, "application/json");

        var result = await httpClientRequest.PostAsync("http://localhost/Events.php", content);
        var resultString = await result.Content.ReadAsStringAsync ();

        return  true;
     }

更新代码:

$value1 = json_decode(file_get_contents('php://input'));
$value2 = json_decode(file_get_contents('php://input'));

$mysql_pekare= new mysqli ("", "","", "");

$stmt = $mysql_pekare->prepare("INSERT INTO Events(`Name`, `Title`) VALUES(?,?)");

$stmt->bind_param("ss", $value1, $value2);

$stmt->execute();

$stmt->close();

$mysql_pekare->close();

echo $value1->Name;
echo $value2->Title;

最佳答案

C# 代码将 2 个参数作为 Name 和 Title 作为 json 发布,因此您的第一个 php 代码应该期望 2 个名为 Name 和 Title 的参数为 json 格式,并将这 2 个参数提交给插入查询以代替 $namn 和 $年龄。

由于您将数据作为 json 发布,因此您不能直接使用 $_POST。 php://input使您能够阅读原始帖子输入和 json_decode()可用于将 json 字符串的内容解码为对象。

$value = json_decode(file_get_contents('php://input'));
echo $value->Title; //should return title

显然,我会在 php 代码中添加一些身份验证和授权,并在将它们提交到数据库之前对 json 参数进行一些输入检查。

关于c# - 尝试通过我的本地主机作为后端和 c# 作为前端为我的 MySQL 数据库创建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35977057/

相关文章:

mysql - 根据标题匹配从一个数据库到另一个数据库的 SQL 更新

c# - 命名空间被遮蔽

c# - 具有一个类的多个公共(public)别名的类库

PHP & cURL 代理 - 如何制作多用户 cookie jar?

mysql - MySQL LIKE给出错误的结果

php - Laravel Eloquent 关系(一对一)

c# - 'List<Choice >' does not contain a definition for ' ChoiceId ' 并且没有扩展名...您是否缺少 using 指令或程序集引用?)

c# - 如何从 C# 中的 Main() 获取复杂的返回值

php - 禁用单个帐户的个人资料编辑

php - 如何为文件下载创建 PHP 单元测试?