我有一个用户填写的表单,表单上有多个相同的字段,例如“项目名称”、“项目日期”、“类别”等。根据用户提交的表单数量,我的目标是:
- 遍历表单的数量
- 创建单独的 SQL 插入语句
但是,PHP 向我抛出了一个我似乎不明白的通知:
注意:
Notice: Uninitialized string offset: 1 ...dataPasser.php on line 90
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
变量拼写错误?
关于php - 什么原因导致 : "Notice: Uninitialized string offset" to appear?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263636/