gpt4 book ai didi

php - 将数组发送到数据库

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

嗨...我可以从 $_POST['C'] 获取一个数组到我的 PHP 文件。我需要将其发送到数据库。在这里我发布了我尝试过的内容。

<?

if(!empty($_POST['G'])){

for($i=0;$i<sizeof($_POST['C']);$i++){

var_dump($_POST['C']);

$Query="INSERT INTO Questions(Questions_ID,Question_Name) VALUES($i+1,'$_POST[C][$i]')";

if(!mysqli_query($con,$Query)){

die("<script>alert( \"Error: ". mysqli_error($con)."\");window.location.href='FormCreationTrial.php';</script>");

} }

}

?>

这是数组的 var_dump。 array(3) { [0]=> string(1) "A"[1]=> string(5) "Male2"[2]=> string(7) "Female2"} 注意:C 中数组到字符串的转换:\xampp\htdocs\PHIS\FinalSubmissionOfTheFormPHP.php 第 19 行。第 19 行是我编写查询的位置。

当我尝试逐个发送数组时,它给我一个错误,例如“键“Question_Name_UNIQUE”的重复条目“Array[0]””。请有人帮我解决这个问题。

最佳答案

$size = sizeof($_POST['C']) - 1;
for($i = 0; $i < $size; $i++) {

性能更好,因此循环不会在每次迭代时调用 sizeOf

$Query="INSERT INTO Questions(Questions_ID,Question_Name) VALUES(".($i+1).", '".$_POST[C][$i]."')";

此外,您似乎没有正确生成 id 字段,这意味着您将收到重复的错误。要么在表结构中设置自动生成的 id,要么从表中获取最新的 id 并从那里递增。您也可以创建一个触发器来执行此操作,但这对您来说可能有点困难。

请注意,您的代码很容易受到 SQL 注入(inject)攻击。

关于php - 将数组发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20038529/

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