当前位置: 首页 > 面试题库 >

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

穆飞龙
2023-03-14
问题内容

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

  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);     
  }
}

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


问题答案:

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

$catagory
$task
$fullText
$dueDate
$empId

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

也许$catagory变量拼写错误?



 类似资料:
  • 我正在尝试使用函数insert\u batch插入多行。这些值来自一个表单。 控制器 模型 调用查询后,我收到以下错误: 消息:未初始化的字符串偏移量:2。。。直到……//消息:未初始化的字符串偏移量:9 我做错了什么?

  • 我使用的是Netbeans,编译器说变量可能没有初始化。这是什么意思?

  • com.sun.identity.agents.arch.agentException:在com.sun.identity.agents.util.transportToken.initializeFromString(TransportToken.java:135)在com.sun.identity.agents.util.transportToken.(TransportToken.java:

  • 问题内容: 我们有一个Webstart客户端,它通过使用HTTPS通过HTTPS发送序列化对象来与服务器通信。 在本地计算机和办公室中的测试服务器上,一切都可以正常工作,但是我遇到了一个非常非常奇怪的问题,该问题仅在生产和登台服务器上出现(偶尔发生)。我知道这些服务器与我们办公室中的服务器之间的主要区别在于它们位于其他位置,并且与它们之间的客户端- 服务器通信速度相当慢,但在此之前的生产中也能正常

  • 问题内容: 我知道对于上面的第3个初始化,字符串对象在字符串池中初始化,而第4个与字符串池无关。 1.和2有 什么区别?如果我将其视为指针变量,它存储的是特定内存地址,而该内存地址从未被JVM或OS使用? 4.和5 之间有区别吗? 当我打印和通过直接和,对,我甚至无法通过compilation.For ,编译OK,我得到“空”,并在控制台窗口中的输出。为什么? @aioobe的答案后编辑:更多问题

  • 我正在解决LeetCode.com的一个问题。问题是这样的: 这不是不正确吗?因为如果,那么这不是意味着抢劫相同的房子吗(因为我们将和初始化为相同的值?)即使我们假设,和不是连续的房屋吗? 完整代码(如果需要)如下: