当前位置: 首页 > 知识库问答 >
问题:

试图通过本地主机作为后端和c#作为前端向MySQL数据库创建项目[duplicate]

皇甫乐
2023-03-14

因此,我有一个后端代码,将结果作为数组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;

共有1个答案

景唯
2023-03-14

c#代码将2个参数作为名称和标题作为json,因此您的第一个php代码应该期望2个参数以json格式命名为名称和标题,并将这2个参数提交到插入查询中,代替$namn和$age。

因为你是以json的形式发布数据,所以你不能直接使用$_POST. php://输入使你能够读取原始的post输入,json_decode()可以用来将json字符串的内容解码成对象。

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

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

 类似资料:
  • 我和我的合作伙伴正在进行一个项目,在这个项目中,我们必须从Java程序连接到一个

  • 问题内容: 我的MySQL数据库需要两个用户:appuser和support。 应用程序开发人员之一坚持要求我为这些用户创建四个帐户: 对于我的一生,我不知道他为什么认为我们需要这个。不会使用通配符作为主机来处理“本地主机”吗? 有任何想法吗? (在这里使用MySQL 5.5) 问题答案: 在MySQL中是特殊的,它表示通过UNIX套接字(我相信是Windows上的命名管道)的连接,而不是TCP

  • 我目前正在学习Mule ESB,有一个问题困扰着我。我用React中的前端和Node.js中的后端创建了应用程序,我希望我的API通过ESB发送数据,并插入一些来自公共SOAP API的数据。然后来自REST API和SOAP API的数据将被合并到我的前端可以使用的一个endpoint中。这可能吗?有人能推荐一些我能读到更多相关信息的地方吗?我查阅了文件,但找不到这样的情况。我用的是电脑版的An

  • 试图弄清楚如何从mysql获取数据并将其显示在ReactJS中。我在后端使用NodeJS和Express。我尝试了在互联网上找到的代码片段,但它不像预期的那样工作。 这是我运行反应应用程序时得到的。 我的NodeJS代码 我的反应码

  • 问题内容: 基本上在执行查询后,我想获取结果行并产生一个,但是我不知道如何使用API​​进行此操作,因为该函数需要特定数量的参数来匹配所请求的列数(可能是类型)以及正确获取数据。 再次,我想泛化此调用并进行任何查询,然后将其转换为,其中映射包含映射到该行的值的列名。 这可能效率很低,我计划稍后更改结构,以使其成为单个数据点的结构。 我将如何仅使用数据库/ sql包,或者在必要时使用数据库/ sql

  • 我有两个独立的项目。一个用于前端reactJs,另一个用于后端NodeJs,我使用mySQL数据库来获取数据。我的主要问题是,我不能在互联网上主持这个网站。 我尝试使用firebase托管,并能够托管前端reactJs项目。我仍然有NodeJs和MySql数据库,需要托管,以便网站发挥作用。另外,我需要在连接文件中对DB做什么更改,从前端api触发是使用axios(“http://localhos