因此,我有一個應用程序創建一個JSON文件與用戶的一些數據。這些數據應該通過位於服務器上的PHP腳本解碼並存儲到數據庫中。我想發佈$ _POST變量文件名到php腳本來使用它來檢索JSON文件。這是我當前的PHP腳本:C#如何通過HTTP發佈數據到PHP並運行它
<?php
$host='myip';
$user='username';
$pass='userpass';
$db='database';
$link= mysqli_connect($host, $user, $pass, $db) or die(msqli_error($link));
$filename = $_POST['filename'] . '.json';
$json = file_get_contents($filename);
$obj = json_decode($json,true);
foreach ($obj as $data)
{
$query_opslaan = "INSERT INTO skMain (BedrijfsName, ContPers, TelNum, email, Land, Plaats, PostCode) VALUES ('". $data['bedrijfsNaam'] ."' , '". $data['ContPers'] ."', '". $data['TelNum'] ."', '". $data['email'] ."', '". $data['Land'] ."', '". $data['Plaats'] ."', '". $data['PostCode'] ."')";
}
?>
這是我的JSON文件
{
"bedrijfsNaam":"JohnDoeMedia",
"ContPers":"John Doe",
"TelNum":"1234567890",
"email":"[email protected]",
"Land":"Nederland",
"Plaats":"somewhere",
"PostCode":"1234 AB"
}
我目前只在C#上傳腳本,但我不知道如何使用它來運行這個PHP腳本和存儲數據到PHP變量$ _ POST [「名」]這裏是商店腳本:
WebRequest hwr = WebRequest.Create(serverPath);
hwr.Method = WebRequestMethods.Ftp.UploadFile;
hwr.Credentials = new NetworkCredential(ftpUser, ftpPass);
if (reqCat == "bvg")
{
json = "{\"bedrijfsNaam\":\"" + bedrijfsNaam + "\"," +
"\"ContPers\":\"" + ContPers + "\"," +
"\"TelNum\":\"" + TelNum + "\"," +
"\"email\":\"" + email + "\"," +
"\"Land\":\"" + Land + "\"," +
"\"Plaats\":\"" + Plaats + "\"," +
"\"PostCode\":\"" + PostCode + "\"}";
using (var sw = new StreamWriter(hwr.GetRequestStream()))
{
sw.Write(json);
sw.Flush();
sw.Close();
}
}
有人可以教我做這項工作的方法是什麼?
即JSON是無效的,它應該是一個對象,而不是陣列。 –
但它保存得很好 –
此外,您的插入查詢似乎缺少每條數據周圍的單引號。我建議尋找具有綁定參數的PDO來清理它。 – jszobody