php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.10.2008, 11:26  
Benutzer
 
Registriert seit: 08.03.2006
Beiträge: 77
Cheesy
Standard [Erledigt] Fatal error: Call to a member function assign() on a non-object in ...

Hallo Gemeinde:

Ich habe folgende Fehlermeldung und bekomme es einfach nicht hin. Vielleicht kann mir jemand weiterhelfen.

Fatal error: Call to a member function assign() on a non-object in ...

Als erstes includiere ich meine Template Klasse:
include($root_pfad.'include/class_ktemplate.inc.php');

Danach mein SELECT XY. Hier bekomme ich auch das Ergebnis raus welches es seien sollte.

if ($result = mysql_query($sql,$connection)){
$tpldauer = $tpl->fetchBlock('top_dauer');
}

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$tpldauer->assign('ORT', $row['ereignisort']);
$tpldauer->assign('UHRZEIT', $row['beginn']);
$tpldauer->assign('DAUER', $row['dauer']);
$tpldauer->assign('MELDUNG', $row['text']);

$tpl->assign('top_dauer', $tpldauer);

$tpldauer->reset();
}
Bei der ersten zuweisung in der while schleife bekomme ich dann diese Fehlermeldung.
Cheesy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.10.2008, 11:30  
7Style
Gast
 
Beiträge: n/a
Standard

du hast die Klasse garnicht initialisiert !

$tpldauer = new DeineKlasse
 
Alt 08.10.2008, 11:39  
Benutzer
 
Registriert seit: 08.03.2006
Beiträge: 77
Cheesy
Standard

Das gleiche Script funktioniert in einem anderem Script einwand frei!
Cheesy ist offline  
Alt 08.10.2008, 11:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
du hast die Klasse garnicht initialisiert !
Passiert wahrscheinlich hier:
PHP-Code:
if ($result mysql_query($sql,$connection)){
$tpldauer $tpl->fetchBlock('top_dauer');

Und vermutlich schlägt es da auch fehl. Verstehe nicht, warum der Restcode außerhalb der Klammern steht ?!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 08.10.2008, 11:46  
Benutzer
 
Registriert seit: 08.03.2006
Beiträge: 77
Cheesy
Standard

Sorry das Objekt wird gleich zu Beginn des Script erzeugt.

// Ein Template-Objekt zu einer Template-Datei erzeugen.
$tpl = new Template($root_pfad.'template/klt_uebersicht_tpl.php');
Cheesy ist offline  
Alt 08.10.2008, 11:47  
7Style
Gast
 
Beiträge: n/a
Standard

teste ob $tpldauer wirklich ein OBJECT ist ...

PHP-Code:
   var_dump($tpldauer); 

@nikosch

ich denke die Klasse ist nicht initialiesiert !


Zitat:
// Ein Template-Objekt zu einer Template-Datei erzeugen.
$tpl = new Template($root_pfad.'template/klt_uebersicht_tpl.php');


das ist das object tpl und nicht
$tpldauer
 
Alt 08.10.2008, 11:49  
Benutzer
 
Registriert seit: 08.03.2006
Beiträge: 77
Cheesy
Standard

Mein Ergebnis:

bool(false)
Cheesy ist offline  
Alt 08.10.2008, 11:55  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Es geht doch um $tpldauer! Und das wird in besagter Zeile (nicht) erzeugt. Die Instanzierung von $tpl ist dafür grundlegend, aber nicht Teil des Problems.

Ich gehe davon aus, dass Dein mysql_query fehlschlägt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 08.10.2008, 12:00  
7Style
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Es geht doch um $tpldauer! Und das wird in besagter Zeile (nicht) erzeugt. Die Instanzierung von $tpl ist dafür grundlegend, aber nicht Teil des Problems.

Ich gehe davon aus, dass Dein mysql_query fehlschlägt.
dann würde er ein error sehen, und uns sofort sagen
aber kann sein ...

nimm " $tpldauer = $tpl->fetchBlock('top_dauer'); "

ausserhalb der if-Abfrage dann kanns du sicher sein ob dein Query nicht funktioniert oder dein Klasse !


 
Alt 08.10.2008, 12:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
dann würde er ein error sehen, und uns sofort sagen
Nix da, mysql_query wirft keinen Fehler. Deshalb gibts ja diese Syntax:
PHP-Code:
$result mysql_query('SELECT * WHERE 1=1');
if (!
$result) {
    die(
'Invalid query: ' mysql_error());

Und das "fetch" in fetchBlock() läßt erahnen, dass hier das entstehende Queryresultat ausgewertet wird. Schlechter Stil übrigens.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fatal error: Call to undefined function imagecreatefromjpeg() filehop PHP Tipps 2008 15 27.09.2008 00:38
Call to a member function sQuery() on a non-object pappacoretex PHP-Fortgeschrittene 11 22.09.2008 17:23
Fehlermeldung : Call to a member function foo() on a non-object Mark Taylor PHP Tipps 2008 4 14.09.2008 20:38
Call to a member function on a non-object campinge PHP Tipps 2008 1 18.08.2008 02:31
[Erledigt] Fatal Error:"Call to a member function on a non-object" Floyd PHP Tipps 2008 4 15.08.2008 13:35
Call to a member function ... on a non-object funnx PHP Tipps 2008 6 29.07.2008 18:08
Fatal error: Call to a member function on a non-object tweek PHP Tipps 2008 13 25.06.2008 12:56
Fatal error: Call to a member function on a non-object atom-dragon PHP Tipps 2007 20 02.12.2007 22:22
Call to a member function on a non-object Riks PHP Tipps 2007 20 10.02.2007 22:59
Fatal error: Call to a member function on a non-object PHP Tipps 2005 7 13.04.2005 07:24
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
Fatal error: Call to a member function on a non-object PHP Tipps 2005 15 04.02.2005 13:02
Fatal error: Call to undefined function: imagecreatefromjpeg DannyD PHP-Fortgeschrittene 10 05.12.2004 21:59
Call to a member function on a non-object --> WARUM ? PHP Tipps 2004-2 4 25.11.2004 20:16
[Erledigt] Fatal error: Call to undefined function:... PHP Tipps 2004 8 27.06.2004 12:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fatal error: call to a member function assign(), call to a member function assign() on a non-object in, \fatal error: call to a member function assign() on a non-object in\, \fatal error call to a member function assign on a non-object in\, fatal error: call to a member function fetch_array() on a non-object, call to a member function get() on a non-object in, call to a member function xy on a non-object, fatal error call to a member function query on a non-object in, call to a member function fetchblock() on a non-object, \call to a member function\ while schleife, function assign() on a non-object

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum