C# 在C中使用Json插入数据#
我在使用C#中的JSON将数据插入免费的Web主机mysql时遇到了一些问题。这就是我所做的: PhpC# 在C中使用Json插入数据#,c#,php,json,C#,Php,Json,我在使用C#中的JSON将数据插入免费的Web主机mysql时遇到了一些问题。这就是我所做的: Php 当我运行我的程序时,没有任何错误。但是当我查看我的数据库时,没有插入任何数据。那么,如何使用json c#插入数据呢 “将数据插入我的免费网络主机phpmyadmin”。为了澄清一些术语,您没有将数据插入phpMyAdmin。您将数据插入MySQL——当您通过代码执行此操作时,phpMyAdmin不会进入其中。phpMyAdmin只是一个GUI(众多GUI之一),您可以通过它与MySQL数据库
当我运行我的程序时,没有任何错误。但是当我查看我的数据库时,没有插入任何数据。那么,如何使用json c#插入数据呢 “将数据插入我的免费网络主机phpmyadmin”。为了澄清一些术语,您没有将数据插入phpMyAdmin。您将数据插入MySQL——当您通过代码执行此操作时,phpMyAdmin不会进入其中。phpMyAdmin只是一个GUI(众多GUI之一),您可以通过它与MySQL数据库进行交互。在底层,它使用与您一样的代码来完成这项工作。我正在吹毛求疵,但我发现弄清楚你正在使用的工具和它们的实际用途是有帮助的。啊,谢谢你的澄清。我的意思是,我想将数据插入mysql,而不是phpmyadmin。你能帮我吗?另外,你的页面非常容易受到SQL注入攻击。您没有验证或转义数据,也没有在查询中使用参数。恶意用户可以使用某些值调用您的端点,并使用它轻松窃取、损坏或销毁您的数据。此外,您在查询参数中提交的数据可能会导致查询中出现语法错误。研究如何使用参数化查询。另外,在C#中,如果有任何错误,您将忽略它-您至少应该在显示消息框之前记录它。您可能需要对从C#发送的内容进行URL编码,这是缩小问题范围的一个好方法,不过可以使用另一个工具(如PostMan或SOAPUI)调用端点,然后我们可以排除C#部分是问题的原因。如果有错误,也让mysqli报告最后一个错误。让它在运行前转储出最终的SQL字符串,并尝试直接在phpMyAdmin中运行它,看看它是否有效。这些是您可以采取的一些基本调试步骤。@Obaja:反序列化json变量的结果应该会告诉您是否出了问题。如果没有抛出例外,webrequest本身应该是好的,但是内容有问题。调查结果。
<?php
/*
* Following code will create a new product row
* All product details are read from HTTP REQUEST Request
*/
require_once __DIR__ . '/db_connect.php';
//require_once __DIR__ . '/generateIDrandom.php';
require_once __DIR__ . '/Configuration.php';
$db = new DB_CONNECT();
$connstring = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
// array for JSON response
$response = array();
// check for required fields
if (isset($_REQUEST['WSID'])) {
$wsid = $_REQUEST['WSID'];
$jenismesin = $_REQUEST['JenisMesin'];
$merk = $_REQUEST['MerkMesin'];
$lokasi = $_REQUEST['Lokasi'];
$inlok = $_REQUEST['InisialLokasi'];
$limit = $_REQUEST['LimitMesin'];
$denom = $_REQUEST['Denom'];
$tim4 = $_REQUEST['Tim4'];
$tim5 = $_REQUEST['Tim5'];
$status = "1";
// connecting to db
$result = mysqli_query($connstring, "insert into MasterATM (WSID, JenisMesin, MerkMesin, Lokasi, InisialLokasi, LimitMesin, Denom, Tim4, Tim5, Status) values ('$wsid','$jenismesin','$merk','$lokasi', '$inlok', '$limit', '$denom','$tim4','$tim5','$status')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Upload Successfully";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
private void InputBtn_Click(object sender, EventArgs e)
{
try
{
WebRequest request = WebRequest.Create("https://xxx.000webhostapp.com/php/InsertDataMesin.php?WSID =" + WSIDBox.Text + "& JenisMesin = " + TipeMesinBox.SelectedItem + "& MerkMesin = " + MerkMesinCB.SelectedItem + "& Lokasi= " + LokasiBox.Text + "& InisialLokasi = " + InisialLokasiBox.Text + "& LimitMesin= " + LimitBox.Text + "& Denom= " + DenomBox.Text + "& Tim4= '" + Tim4CB.SelectedItem + "& Tim5= '" + Tim5CB.SelectedItem + "& Status = 1");
WebResponse response = request.GetResponse();
StreamReader stream = new StreamReader(response.GetResponseStream());
string json = stream.ReadToEnd();
stream.Close();
var result = JsonConvert.DeserializeObject(json);
MessageBox.Show("Data berhasil ditambahkan !");
TampilDataEdit();
}
catch
{
MessageBox.Show("Data gagal ditambahkan. Silakan coba lagi");
}
}