一尘不染

是什么原因导致出现“注意:未初始化的字符串偏移量”?

php

我有一个用户填写的表单,在表单上有多个相同的字段,例如“项目名称”,“项目日期”,“类别”等。基于用户提交的表单数量,我的目标是:

  1. 循环表格数量
  2. 创建单个SQL插入语句

但是,PHP向我抛出一条我似乎不理解的通知:

注意:

注意:未初始化的字符串偏移量:1 …第90行的dataPasser.php

的PHP

$myQuery = array();

if ($varsCount != 0)
{
  for ($i=0; $i <= $varsCount; $i++)
  {
    $var = "insert into projectData values ('" . $catagory[$i] . "', '" .  $task[$i] . "', '" . $fullText[$i] . "', '" . $dueDate[$i] . "', null, '" . $empId[$i] ."')";
    array_push($myQuery, $var);     
  }
}

我已经提到了这个问题,但是它们并不准确,因此我无法推断出实际问题的出处。我将不胜感激,以帮助您理解导致数组无法正确初始化的原因。


阅读 307

收藏
2020-05-29

共1个答案

一尘不染

如果以下任何变量实际上是字符串或为null而不是数组,则将发生此错误,在这种情况下,使用数组语法访问它们$var[$i]就像尝试访问字符串中的特定字符一样:

$catagory
$task
$fullText
$dueDate
$empId

简而言之,插入查询中的所有内容。

也许$catagory变量拼写错误?

2020-05-29