通常我可以使用$ _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);
?>
我认为这是好的(没有经过测试),但我的问题是我将如何收到这个非常大的字符串
感谢您的时间!
答案 0 :(得分:1)
你获得414意味着你的uri太长了。这让我怀疑你是在做一个GET请求而不是使用POST。 POST变量不应该在uri中,而应该在请求的主体中。 Apache / php可能对请求主体大小强制执行一些大小限制,但10k应该没问题(如果你想确定,请检查你的.ini或运行phpinfo())。
简而言之,请确保使用POST!