如何在c#中向php发送一个非常长的字符串?

时间:2016-04-01 21:49:24

标签: php mysql

通常我可以使用$ _POST或$ _GET将字符串发送到php,但我的字符串非常长(如10000值)

如果我尝试将它发送到我的服务器,我会收到此错误:414非常长的网址(或类似的东西)所以,你能告诉我我的选择是什么吗?

我想要做的是接收该字符串,以便我可以将它们插入数据库中的表(mysqli)(我的字符串看起来像这样:“1,4,0​​,5,6,9,... 。“

这是我正在考虑使用的PHP脚本:

$conn = mysqli_connect("localhost",$username, $password, $dbname);

$str = mysqli_real_escape_string($conn,$_POST['arraytile']);
$numerDeTiles = $_POST['ntiles']; //verylongstting
$contador = $_POST['contador']; //number of database
$array = explode(",", $numerDeTiles );


$query = "insert into grid".$contador." values (NULL,(?));";

$stmt = $conn->prepare($query);
$stmt ->bind_param("s" , $one);
$conn->query("START TRANSACTION");
foreach ($array as $one){
$stmt->execute();
}
$stmt->close();
$conn->query("COMMIT");
mysqli_close($conn);
?>

我认为这是好的(没有经过测试),但我的问题是我将如何收到这个非常大的字符串

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

你获得414意味着你的uri太长了。这让我怀疑你是在做一个GET请求而不是使用POST。 POST变量不应该在uri中,而应该在请求的主体中。 Apache / php可能对请求主体大小强制执行一些大小限制,但10k应该没问题(如果你想确定,请检查你的.ini或运行phpinfo())。

简而言之,请确保使用POST!