抱歉初学者问题。 我搜索了大约一个小时,但我无法理解为什么我的$ row在第二个时间以外的行不起作用...名称变量只运行$ row var doesn&t; t功能...
$i = 0;
while($i < 8)
{
$str = "SELECT * FROM `$name[$i]`";
$result = mysql_query($str, $connessione);
$l = mysql_num_rows($result);
while($l > 1)
{
$strs = "SELECT * FROM `$name[$i]` WHERE `Livello` = '$l'";
$results = mysql_query($strs, $connessione);
$row[$i][$l] = mysql_fetch_array($results);
if I put here the echo I can view the mysql variable
echo $row[$i][$l]['var'];
$l--;
}
if I put here echo $row[$i][$l]['var']; he send me the error " Undefined offset"
$i++;
}
希望你能帮助我......
答案 0 :(得分:0)
当您尝试使用echo
,$i = 8
和$l = 1
时。这些键不存在于您的数组中。
答案 1 :(得分:0)
在您放置的地方:
echo $row[$i][$l]['var'];
$l
值为0,您将$l
的$ row值从1设置为mysql_num_rows($result)
如果你放在那里:
echo $row[$i][1]['var'];
假设mysql_num_rows($result)
超过1个元素,它应该可以正常工作。
您的代码可能如下所示:
$i = 0;
while($i < 8)
{
$str = "SELECT * FROM `$name[$i]`";
$result = mysql_query($str, $connessione);
$l = mysql_num_rows($result);
while($l > 0) // changed 1 to 0
{
$strs = "SELECT * FROM `$name[$i]` WHERE `Livello` = '$l'";
$results = mysql_query($strs, $connessione);
$row[$i][$l] = mysql_fetch_array($results);
if i put here the echo i can view the mysql variable
echo $row[$i][$l]['var'];
$l--;
}
// added extra loop to display array values
$whileIndex = 0;
while (true) {
if (!isset($row[$i][$whileIndex]['var']) {
break;
}
echo $row[$i][$whileIndex]['var']; // should work
++$whileIndex;
}
$i++;
}