Cannot use a scalar value as an array
Üdv!
Ez a hiba néha előkerül, és utána is olvastam a weben neki, de a konkrét helyzetben mégse tudom megoldani.
$sql="select pictures.picID, count(comments.post) from comments right join pictures on comments.picid=pictures.picid group by pictures.picID order by pictures.picID;";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
$result4 = mysql_query($sql);
$n=2;
while($lista2[$n] = mysql_fetch_array($result4))
{
$n++;
}
$sql2="select picID, viewed, average_rating, numberof_rating, mapLine, mapObject from pictures order by picID;";
if (!mysql_query($sql2,$con))
{
die('Error: ' . mysql_error());
}
$result3 = mysql_query($sql2);
$n=2;
while($lista[$n] = mysql_fetch_array($result3))
{
$n++;
}
for ( $counter = 2; $counter <= 2000; $counter += 1) {
$result2[$lista[$counter]["picID"]-1]=$lista[$counter];
}
for ( $counter2 = 2; $counter2 <= 2000; $counter2 += 1) {
$result[$lista2[$counter2]["picID"]-1]=$lista2[$counter2];
}
A $result és $result2 értékadására a for-ciklusban "Cannot use a scalar value as an array"-hibát ad, ami azért érdekes, mert amennyire én látom, az egyenlőségjel mindkét oldalán egyező dimenziójú tömbök állnak, ráadásul korábban működött a script, csak a szolgáltatóm (feltételezett) szoftverfrissítése óta nem működik.
Szerintetek mi lehet a hiba?
Köszi!
B
■ Ez a hiba néha előkerül, és utána is olvastam a weben neki, de a konkrét helyzetben mégse tudom megoldani.
$sql="select pictures.picID, count(comments.post) from comments right join pictures on comments.picid=pictures.picid group by pictures.picID order by pictures.picID;";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
$result4 = mysql_query($sql);
$n=2;
while($lista2[$n] = mysql_fetch_array($result4))
{
$n++;
}
$sql2="select picID, viewed, average_rating, numberof_rating, mapLine, mapObject from pictures order by picID;";
if (!mysql_query($sql2,$con))
{
die('Error: ' . mysql_error());
}
$result3 = mysql_query($sql2);
$n=2;
while($lista[$n] = mysql_fetch_array($result3))
{
$n++;
}
for ( $counter = 2; $counter <= 2000; $counter += 1) {
$result2[$lista[$counter]["picID"]-1]=$lista[$counter];
}
for ( $counter2 = 2; $counter2 <= 2000; $counter2 += 1) {
$result[$lista2[$counter2]["picID"]-1]=$lista2[$counter2];
}
A $result és $result2 értékadására a for-ciklusban "Cannot use a scalar value as an array"-hibát ad, ami azért érdekes, mert amennyire én látom, az egyenlőségjel mindkét oldalán egyező dimenziójú tömbök állnak, ráadásul korábban működött a script, csak a szolgáltatóm (feltételezett) szoftverfrissítése óta nem működik.
Szerintetek mi lehet a hiba?
Köszi!
B
nem tömb
a lényeget pont lehagytad, mert a beszúrt kódból nem derül ki, hogy a $result és $result2 változók mik is voltak korábban. ha azt feltételezem, hogy következetes vagy, akkor ezek is egy mysql_query eredményét tárolják, ami - mint az a dokumentációból is kiderül - vagy false értékkel vagy egy erőforrással tér vissza, de semmiképpen sem egy tömbbel.
az "amennyire én látom" kezdetű sorokat megspórolhattad volna a var_dump függvény használatával a for ciklusok előtt, és akkor minden kétséget kizáróan tudnánk, mi is lapul a $result és $result2 változókban.