Autor Zpráva
sOkkOlicEkk
Profil
Dobrý den, začal jsme budovat sociální sít a po nainstalování a přechodu na stránku mi naběhla tato chyba:

" Fatal error: Call to a member function num_rows() on a non-object in /home/free/ic.cz/t/twerli/root/www/application/models/applicationmodel.php on line 89 "

applicationmodel.php >>

<?php

/**
 * User Model
 *
 *
 * @copyright Copyright (c) 2008 [x-MoBiLe] Nulled
 * @license
 * @since 1/2/2008
 */
class Applicationmodel extends Model
{
		//Constructor
		function Applicationmodel()
		{
				parent::Model();
		}
		function getApplications($onlyBasic = false)
		{
				if ($onlyBasic == true) $appQuery = $this->db->query('SELECT * FROM applications WHERE user_id=0');
				else  $appQuery = $this->db->query('SELECT * FROM applications');
			          if ($appQuery->num_rows() > 0)
				{
						$applications = array();
						foreach ($appQuery->result_array() as $appRow)
						{
								$applications[$appRow['application_id']] = $appRow;
						}
						return $applications;
				}
				else  return false;
		}
		function getUserApplications()
		{
				$this->db->select('application_ids');
				$this->db->where('user_id', $this->session->userdata('user_id'));
				$this->db->limit(1, 0);
				$userAppQuery = $this->db->get('users_applications');
				if ($userAppQuery->num_rows() > 0)
				{
						$userAppRow = $userAppQuery->result_array();
						$appQuery = $this->db->query('SELECT * FROM applications WHERE application_id IN (' . $userAppRow[0]['application_ids'] . ')');
						if ($appQuery->num_rows() > 0)
						{
								$applications = array();
								foreach ($appQuery->result_array() as $appRow)
								{
										$applications[$appRow['application_id']] = $appRow;
								}
								return $applications;
						}
						else  return false;
				}
				else  return false;
		}
		function isApplication($appName)
		{
				$this->db->where('application_name', $appName);
				$this->db->limit(1, 0);
				$appQuery = $this->db->get('applications');
				if ($appQuery->num_rows() > 0)
				{
						$appRow = $appQuery->result_array();
						return $appRow[0]['application_id'];
				}
				else  return false;
		}
		function isUserCanAccessTheApplication($applicationId)
		{
				$this->db->select('application_ids');
				$this->db->where('user_id', $this->session->userdata('user_id'));
				$this->db->limit(1, 0);
				$userAppQuery = $this->db->get('users_applications');
				if ($userAppQuery->num_rows() > 0)
				{
						$userAppRow = $userAppQuery->result_array();
						$userAppArray = explode(',', $userAppRow[0]['application_ids']);
						if (array_search($applicationId, $userAppArray) === false) return false;
						else  return true;
				}
				else  return false;
		}
		function getLanguages()
		{
				$this->db->select('lang_code, lang_name');
				$this->db->from('languages');
				$langQuery = $this->db->get();
				$languages = array();
				if ($langQuery->num_rows() > 0)
				{
						foreach ($langQuery->result_array() as $langRow)
						{
								$languages[] = $langRow;
						}
				}
				return $languages;
		}
}

?>


Pokud dokážete poradit, budu jedině rád. Předem Děkuji.
Alphard
Profil
$langQuery = $this->db->get();

Tady nemá get() parametr (na rozdíl od předchozích použití). Není návratová hodnota false, nebo tak něco? Do $langQuery prostě není vrácen odkaz na objekt, viz hláška.
sOkkOlicEkk
Profil
Můžeš mi nějak poradit jak to přepsat? Nebo něco, aby to prostě běželo.
Alphard
Profil
sOkkOlicEkk:
Můžeš mi nějak poradit jak to přepsat? Nebo něco, aby to prostě běželo.
Nemůžu, ten systém neznám, a na první pohled by nestačilo ani studium těch zveřejněných 80 řádků. Třída pro práci s databází se zřejmě dědí, tím ale nechci říct, že sem máte slepě nakopírovat dalších 300 řádků.
nightfish
Profil
sOkkOlicEkk:
zjisti si, jak se u použitého databázového layeru vypisují chybové hlášky (autor layeru/frameworku poradí)
nebo si alespoň vypiš dotaz, který to ve skutečnosti provede, a prožeň jej phpMyAdminem/Adminerem, ten ti také vypíše chybu
sOkkOlicEkk
Profil
Kdybych Vám sem dejmetomu dal link na stažení toho souboru. Udělali by jste si někde provizorní hosting a všechno by jste nahráli podle návodu. Pomohli by jste mi potom, co by jste si to nainstalovali? Třeba by jste tomu rozumeli lépe když to uvidíte všechno. Nevím.
Joker
Profil
sOkkOlicEkk:
Připište tam co za to a kontakt na sebe a zkuste to dát jako poptávku do Práce a zakázky.
sOkkOlicEkk
Profil
:/.. Dobře no..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0