如何修复php非法偏移错误[重复]
Posted
技术标签:
【中文标题】如何修复php非法偏移错误[重复]【英文标题】:how to fix php illegal offset errors [duplicate] 【发布时间】:2020-04-21 01:50:46 【问题描述】:我正在尝试使用数组将多个单选按钮值插入到数据库中,但出现错误
警告: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";
【问题讨论】:
这能回答你的问题吗? Illegal string offset Warning PHP 第 40 行是哪一行? this ids line 40 ['Questionid'] =>$questionid, 【参考方案1】:在创建数组时,您的数组键不应包含括号。
$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']
)
);
【讨论】:
更重要的是,在这种情况下不需要键,只需要数组值,逗号分隔。以上是关于如何修复php非法偏移错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 数组输出 MySQL 查询 - foreach 循环错误“非法偏移”和“无效参数”