我有一个用户填写的表单,并在表单上有多个相同的字段,如"项目名称","项目日期","catagory"等.根据用户提交的表单数量,我的目标是:
但是,PHP向我发出了一条我似乎不明白的通知:
注意:
注意:未初始化的字符串偏移:第90行的1 ... 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);
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个问题的参考,但它们并不准确,我无法推断实际问题源于何处.我非常感谢任何有助于理解导致数组未正确初始化的原因.
zom*_*bat 58
如果以下任何变量实际上是字符串或null而不是数组,则会发生此错误,在这种情况下,使用数组语法访问它们$var[$i]
就像尝试访问字符串中的特定字符一样:
$catagory
$task
$fullText
$dueDate
$empId
Run Code Online (Sandbox Code Playgroud)
简而言之,插入查询中的所有内容.
也许$catagory
变量拼写错误?
迭代数组的次数大于数组的实际大小时,可能会发生错误.例如:
$one="909";
for($i=0;$i<10;$i++)
echo ' '.$one[$i];
Run Code Online (Sandbox Code Playgroud)
将显示错误.第一种情况你可以采取我的mod ..例如
function mod($i,$length){
$m = $i % $size;
if ($m > $size)
mod($m,$size)
return $m;
}
for($i=0;$i<10;$i++)
{
$k=mod($i,3);
echo ' '.$one[$k];
}
Run Code Online (Sandbox Code Playgroud)
或者可能不是数组(也许它是一个值,你试图像数组一样访问它),例如:
$k = 2;
$k[0];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
172792 次 |
最近记录: |