PDA

View Full Version : Fatal error need help


msalman
06-30-2007, 11:37 AM
hey all,

I've a php file and it amkes some quries to database and when i try to run it, it give me following error

Fatal error: Call to a member function on a non-object in /home/content/I/s/l/mydomain/html/forums/includes/myfile.php on line 5

this is the code that i've so far in myfile.php

<?php
// i'm calling this function in another php file
function displayIndex()
{
// this is line 5
$query = $db->query_read("SELECT DISTINCT chpNo_en, chpName_en FROM quran_en ORDER BY chpNo_en ASC");

$indexArray;
$cnt = 0;

while ($row = $db->fetch_array($query)) {

$indexArray[$cnt]['chpNo'] = $row['chpNo_en'];
$indexArray[$cnt]['chpName'] = $row['chpName_en'];

$verses = $db->query_read_first("SELECT COUNT(ayatNo_en) AS verses FROM quran_en WHERE chpNo_en=". $row['chpNo_en']);

while ($verse = $db->fetch_array($verses)) {
$indexArray[$cnt]['verses'] = $verse['verses'];
}

$cnt++;
}
$cnt = 0;
$query = $db->query_read("SELECT DISTINCT chpName_ar, chpNo_ar FROM quran_ar ORDER BY chpNo_ar ASC");
$array;

while ($row = $db->fetch_array($query)) {
$array[$cnt] = $row['chpName_ar'];
$cnt++;
}

for ($i = 0; $i < $cnt; $i++) {
if ($i < 38) {
$indexArray[$i]['chpName'] = $indexArray[$i]['chpName'] . $array[$i];
} else if ($i >= 38) {
$indexArray[$i]['chpName'] = $indexArray[$i]['chpName'] . $array[$i+1];
}
}

return $indexArray();
}
?>

Dismounted
06-30-2007, 11:38 AM
Try
<?php

function displayIndex() // i'm calling this function in another php file
{
global $db;

$query = $db->query_read("SELECT DISTINCT chpNo_en, chpName_en FROM quran_en ORDER BY chpNo_en ASC"); // this is line 5

$indexArray;
$cnt = 0;

while ($row = $db->fetch_array($query)) {

$indexArray[$cnt]['chpNo'] = $row['chpNo_en'];
$indexArray[$cnt]['chpName'] = $row['chpName_en'];

$verses = $db->query_read_first("SELECT COUNT(ayatNo_en) AS verses FROM quran_en WHERE chpNo_en=". $row['chpNo_en']);

while ($verse = $db->fetch_array($verses)) {
$indexArray[$cnt]['verses'] = $verse['verses'];
}

$cnt++;
}
$cnt = 0;
$query = $db->query_read("SELECT DISTINCT chpName_ar, chpNo_ar FROM quran_ar ORDER BY chpNo_ar ASC");
$array;

while ($row = $db->fetch_array($query)) {
$array[$cnt] = $row['chpName_ar'];
$cnt++;
}

for ($i = 0; $i < $cnt; $i++) {
if ($i < 38) {
$indexArray[$i]['chpName'] = $indexArray[$i]['chpName'] . $array[$i];
} else if ($i >= 38) {
$indexArray[$i]['chpName'] = $indexArray[$i]['chpName'] . $array[$i+1];
}
}

return $indexArray();
}
?>

msalman
06-30-2007, 11:53 AM
ok thanks, it worked, could you please refer me to some source that lists all these global variable which are required for vbulletin?

Dismounted
06-30-2007, 11:58 AM
Only $vbulletin and $vbphrase are probably essential. I only globalized $db because you were using that. I prefer using $vbulletin->db instead.