gpt4 book ai didi

c# - Mysqli 到 php 到 c#

转载 作者:行者123 更新时间:2023-11-29 15:29:25 25 4
gpt4 key购买 nike

所以我有一个 C# 列表,它被转换为字符串,然后在 PHP 中转换为二维数组,然后发送到 MySQL 数据库。现在我该如何扭转这一局面,从而可以从数据库下载到 PHP,而不是下载到 C# 列表。

这是我到目前为止所拥有的,但我不确定是否需要将数据下载回 PHP 中的数组,或者是否应该将其下载为字符串并将其分解为 c# 中的列表?

这是我的 C# 代码:

public List<Ship> shipList = new List<Ship>();
string shipListString = "";
WWWForm form = new WWWForm();
form.AddField("username", username);
form.AddField("shipcount", ShipInventory.Count);
for (int i = 0; i < shipList.Count; i++)
{
shipListString = shipListString + " " + shipList[i].id + " '" + shipList[i].username + "' '" + shipList[i].name + "' " + shipList[i].power +
"zzz";// + ShipInventory[i];
}
form.AddField("shipinventory", shipListString);
WWW www = new WWW("x.x.x.x/savedata.php", form);
yield return www;

这是我的 php:

$shiparraytobesplit = $_POST["shipinventory"];
$ships = explode("zzz", $shiparraytobesplit);
unset($ships[count($ships)-1]);

$shipinfo = array_map(function($ship) {
$tempshipinfo = explode(" ", $ship);
$ship_assoc = [
"id" => $tempshipinfo[1],
"name" => $tempshipinfo[2],
"username" => $tempshipinfo[3],
"hp" => $tempshipinfo[4]
];
return $ship_assoc;
}, $ships);

$sql = sprintf('INSERT INTO shipinventory (shipid,shipname,username,shippower) VALUES (%s)', implode(',',array_values($shipinfo[$i])));

if(!mysqli_query($con, $sql))
{
echo("error description: " . mysqli_error($con));
}

这可以很好地将我的 C# 列表上传到数据库,但我不确定将其从数据库下载回 C# 列表的最佳方法是什么。任何建议都会很棒!谢谢

最佳答案

好吧,我设法让它工作,但我想还有更好的方法,所以请分享!谢谢:

C# 脚本:

WWW www = new WWW("x.x.x.x/loaddata.php");
yield return www;
stringFromPHP = www.text;

char[] delimiterENTER = new char[] {'\n' };
char[] delimiterSPACE = new char[] { ' ' };
shipStringArray = stringFromPHP.Split(delimiterENTER, StringSplitOptions.RemoveEmptyEntries);
shipList.Clear();
for (int i = 0; i < shipStringArray.Count(); i++)
{
string[] shipInfo = shipStringArray[i].Split(delimiterSPACE);
shipList.Add(new Ship(Int32.Parse(shipInfo[0]), shipInfo[1], shipInfo[2], Int32.Parse(shipInfo[3]), shipStringArray[i]));
}

和 PHP:

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT shipid, username, shipname, shippower FROM shipinventory";

if ($result = mysqli_query($con, $query)) {

while ($row = mysqli_fetch_assoc($result)) {
$stringtoexplodeincsharp printf ("%s %s %s %s\n",(int) $row["shipid"], $row["username"], $row["shipname"],(int) $row["shippower"]);
}

mysqli_free_result($result);
}

mysqli_close($con);

关于c# - Mysqli 到 php 到 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58841030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com