基于IF的FOR循环不插入多行-PHP

时间:2019-07-18 21:14:12

标签: for-loop prepared-statement sql-insert bulkinsert

我无法使它正常工作。我要么插入一个条目,要么不插入任何条目。我正在尝试根据用户是否已选中前一个表单中的复选框来添加行。不知道我在做什么错。

如果有能力,能否举例说明我做错了什么以及正确的方法是什么?我对此表示感谢。谢谢!

$todo_toaddornot=$_POST['toaddornot'];
$conn = new PDO("mysql:host=$server;dbname=$database", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("INSERT INTO todo_list
(todo_key,todo_name,todo_desc,todo_parent,todo_keydate,todo_assigned,todo_daysfrom,todo_daysrelation)
VALUES(?,?,?,?,?,?,?,?,?)");
$stmt->bindParam('sssssssss',$todo_key,$todo_name,$todo_desc,$todo_parent,$todo_keydate,$todo_assigned,$todo_daysfrom,$todo_daysrelation,$todo_status);
for($i=0;$i<count($_POST['name']);$i++)
{   //If Mark Yes Then Insert Task
    if($todo_toaddornot[$i]==='Yes')
    { 
        $todo_key=$_POST['listing_key'][$i];
        $todo_name=$_POST['name'][$i];
        $todo_desc=$_POST['desc'][$i];
        $todo_parent=$_POST['parenttodo'][$i];
        $todo_keydate=$_POST['keydate'][$i];
        $todo_assigned=$_POST['assignment'][$i];
        $todo_daysfrom=$_POST['daysfrom'][$i];
        $todo_daysrelation=$_POST['daysrelation'][$i];
//1 = status of Not Complete
        $todo_status='1';
        $stmt->execute();
    }
}

0 个答案:

没有答案