Fatal error: Call to a member function

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:09:00
Quote Anchor link
ik krijg als ik naar me pagina ga deze error
de XXXX heb ik wegehaald


Fatal error: Call to a member function query() on a non-object in /home/XXXXX/domains/XXXXX.com/public_html/radiotest/config_radio.php on line 5

en dit is die config_radio.php waar die error zou moeten zitten :S

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

include("includes/config.php");

$query = $db->query("SELECT * FROM `radioinfo`");
$rows = $db->fetch($query);

$scdef = $site["sitename"];
$scip = $rows["ip"];
$scport = $rows["port"];
$scpass = $rows["pass"];

?>


wat is er fout?

Mod-edit:
Heb even je titel aangepast, dan is dat voor velen voor ons gelijk duidelijk waar je vraagstelling over gaat.
Gewijzigd op 01/01/1970 01:00:00 door Angelo Kreikamp
 
PHP hulp

PHP hulp

25/12/2024 14:29:46
 
Frank -

Frank -

09/02/2008 22:10:00
Quote Anchor link
En waar moet $db vandaan komen? Is dat wel een object?

Ps. Die vieze vuile gore backtics ` gooi je natuurlijk nog evne uit je query!
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:14:00
Quote Anchor link
ik snap je niet
 
Frank -

Frank -

09/02/2008 22:17:00
Quote Anchor link
In jouw query heb je deze rottige tekentjes staan: ` Die dragen de naam backtick. En wat mag je daar mee doen? Ritueel verbranden, opeten, verzuipen, of wat dan ook, als ze maar uit jouw code verdwijnen. In jouw code gaan ze namelijk voor bugs zorgen en dat wil je (meestal) niet.

Dan het oorspronkelijke probleem: Jij roept $db->query() aan, maar waar moet het object $db vandaan komen? Waar maak jij dit object aan? Gebeurt dat in het bestand config.php ?
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:21:00
Quote Anchor link
dus deze code is nu wel goed zonder backtip

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

include("includes/config.php");

$query = $db->query("SELECT * FROM radioinfo");
$rows = $db->fetch($query);

$scdef = $site["sitename"];
$scip = $rows["ip"];
$scport = $rows["port"];
$scpass = $rows["pass"];

?>



maar $db komt uit config moet je die ook hebben config.php?

config.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$connectual
= mysql_connect("xxx", "XXX", "xxx");
$select_db_booyah = mysql_select_db("xxxx", $connectual);

$siteinfo = mysql_query("SELECT * FROM config");
$site = mysql_fetch_array($siteinfo);

$hometext = $site[home];
$hometext = nl2br($hometext);


?>
Gewijzigd op 01/01/1970 01:00:00 door Angelo Kreikamp
 
Jan Koehoorn

Jan Koehoorn

09/02/2008 22:21:00
Quote Anchor link
Tip: verzin de volgende keer een betere titel. "Ik heb een rare error" zegt zo weinig.

Aanvulling op Frank: je moet ergens in je script iets als $db = new klassenaam (); hebben staan. klassenaam zal in jouw geval waarschijnlijk 'database' zijn.
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:23:00
Quote Anchor link
ik heb effe de config gepost erbij ik kom er echt niet uit
 
Frank -

Frank -

09/02/2008 22:25:00
Quote Anchor link
Leuk en aardig, maar ook daar maak je nergens een object $db aan. Sterker nog, daar gebruik je gewoon functionele PHP en helemaal geen objecten.

Ben je soms bestaande code aan het mixen met eigen code en heb je nauwelijks ervaring met PHP?
 
Danny Roelofs

Danny Roelofs

09/02/2008 22:27:00
Quote Anchor link
zoek naar het volgende, ergens in al je php bestanden die draaien om jouw radio gebeuren zal iets horen te staan als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new database();
?>


Waarbij database() bij je mogelijk anders zou kunnen heten.

Op deze manier wordt er een instantie of ja referentie naar de class gemaakt waarbij je dan pas functie's (methods) kan aanspreken zoals $db->fetch($query);
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:30:00
Quote Anchor link
ik snap dit echt niet -.- dit is ingewikkeld en dit rot ding loopt gewoon niet
-.-
 
Jan Koehoorn

Jan Koehoorn

09/02/2008 22:35:00
Quote Anchor link
pgFrank schreef op 09.02.2008 22:25:
Ben je soms bestaande code aan het mixen met eigen code en heb je nauwelijks ervaring met PHP?

Dan denk ik dat deze quote van Frank aardig in de richting zit. Maar goed: aan dingen als "ik snap het niet" en "dit loopt niet" hebben wij niet veel, want we kunnen daaruit niet raden wat er op jouw scherm staat.

Als je de tips die tot nu toe in dit topic gegeven zijn niet snapt, is het script waarschijnlijk nog te hoog gegrepen voor je. Dat geeft niets, begin gewoon met een wat eenvoudiger script en bouw van daaruit je skills op.
 
Danny Roelofs

Danny Roelofs

09/02/2008 22:36:00
Quote Anchor link
Houden we het simpel, stap voor stap.

Waar staat bij jou (in al die php bestanden): '$db = new'
 
Jan geen

Jan geen

09/02/2008 22:36:00
Quote Anchor link
tja leer dan is php, wij kunnen je zo ook onmogelijk helpen hé..
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 22:50:00
Quote Anchor link
zal ik gewoon heel het paneel posten want er werkt veel iets niet bijvoorbeel
in spotlight.php werkt het wel als config anders is maar dan werkt de hele radio beheer niet en is de config normaal werkt spotlight niet en radio_status.php is de error die ik hier heb gepost
 
Jelmer -

Jelmer -

09/02/2008 23:00:00
Quote Anchor link
Focus je dan op het oplossen, en niet op het resultaat. Je kan hetzelf oplossen, echt, als je maar begrijpt wat er staat. En PHP is niet moeilijk om te begrijpen. Neem als voorbeeld jouw eerste probleem: call to method y of a non-object op regel x. Wat vertelt dit jouw? Dat jij moet zoeken op regel x naar iets met de naam y. Dan zie jij toevallig $db->query(). Hey, functies roep je aan door naam + ronde haakjes, dus ik roep hier inderdaad y aan. Y is iets van iets dat iets anders is dan het lijkt, want je denkt dat $db een object is, maar dat is het niet. Er is dus iets mis met $db. Dus ga je uitzoeken waar $db vandaan komt, en wat ermee gebeurt (regels als $db = ... )

Verder vergelijken met situaties waarin het wel werkt, en wat doen aan je leestekens. Want Nederlands zonder leestekens is gewoon kut, en zegt niet veel positiefs over je instelling.

Op het forum kan je dan verder terecht voor concrete vragen zoals "ik heb deze situatie, ik wil dit doen, hoe kan ik dat het beste aanpakken" en "deze regel moet x doen, maar geeft y in plaats van x. Wat gaat er mis?" "Het werkt niet" kunnen we je niet verder mee helpen, jij jezelf wel. Dus ga alsjeblieft niet het hele paneel posten, maar zoek je eigen errors na.
 
Angelo Kreikamp

Angelo Kreikamp

09/02/2008 23:03:00
Quote Anchor link
ok jullie kunnen me niet op deze manier helpen de gene
die mij wilt helpen dit hele systeem effe grondig te fixen
kan me mailen op [email protected] of toevoegen op msn kan natuurlijk ook

voor deze daad is ook een vergoeding in geld natuurlijk
de prijs mag je zelf bepalen

alvast bedankt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.