首页 > 解决方案 > 如何修复php非法偏移错误

问题描述

我正在尝试使用数组将多个单选按钮值插入到数据库中,但出现错误

警告:C:\wamp64\www\Projet Apache\My website\html\addquestionrequest.php 中的非法偏移类型在第 40 行

这是我正在处理的代码的一部分

$questionid = $donnees['Questionid'];

    $insertArray = array(
        [0]=> array(

                ['Questionid'] =>$questionid,
                ['Options'] => $_POST['Option_1'],
        ),

        [1]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_2'],
        ),

        [2]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_3'],
        ),

        [3]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_4'],
        ));
        if (!empty($_POST['Option_1']) && !empty($_POST['Option_2']) && !empty($_POST['Option_3']) && !empty($_POST['Option_4']))
         {
                foreach ($insertArray as $key => $value) {
                     $db->exec('INSERT INTO answerproposal(Questionid,Options) VALUES(\'$value["Questionid"]\', \'$value["Options"] \')');

                }


             echo "question ajoutée";
        }
        else {
            echo " erreur option 1";
        }

标签: phphtmlcssmysqlarrays

解决方案


创建数组时,您的数组键不应包含括号。

$insertArray = array(
    0 => array(
        'Questionid' => $questionid,
        'Options' => $_POST['Option_1']
    ),
    1 => array(
        'Questionid' =>$questionid,
        'Options' => $_POST['Option_2']
    ),
    2 => array(
        'Questionid' =>$questionid,
        'Options' => $_POST['Option_3']
    ),
    3 => array(
        'Questionid' => $questionid,
        'Options' => $_POST['Option_4']
    )
);

推荐阅读