Ik heb een totale site gebrouwd met mysql coderingen, nu wilde ik kijken of ik het ook verbouwd kreeg naar mysqli , verschillende tuts gevolgd maar telkens krijg ik een error mischien ziet iemand een fout graag dan mededelen
PHP Fatal error: Call to a member function query() on a non-object in
$result = $mysqli->query("SELECT veld FROM users_profile WHERE user_id=" . $data['id'] . "");
$row = $result->fetch_assoc();
Laat ik met 1 ding duidelijk zijn Noppes , ik moet helemaal niets , ik doe wat ik wil ik vraag enkelt wat de fout kan zijn , je moet niet denken dat je me de les kan lezen want ik heb veeeeel meer ervaring als je denkt...
Gelieve niet meer te reageren op mijn postings dit verkracht enkelt mijn posting....
[size=xsmall]Toevoeging op 14/08/2011 16:59:59:[/size]
Eric Wagener op 14/08/2011 16:46:18
Ik denk dat het bij de connect fout gaat. Het moet zijn:
if ($mysqli->connect_errno) {...
Je gebruikt dus object en procedural door elkaar.
ik behoud nog steeds de zelfde error ondanks de aanpassing.
Probeer eerst eens alles in een bestand te zetten, ga dan per regel na of het resultaat is wat het moet zijn. Zo kun je stap voor stap kijken waar het fout gaat.
De include is inderdaad enigszins ongebruikelijk op die manier. Als je toch die() wil/moet gebruiken, dan kun je dat beter op de plek doen waar het nodig is (in de config zelf dus).
Noppes bedoeld het waarschijnlijk goed, maar het komt altijd enorm rottig zijn strot uit. Daarom negeren de meeste mensen hem ook.
Ik zie wel niet in waarom die() nodig zou zijn. Volgens mij is een goede if-else(if) structuur in dit geval een bete oplossing. En natuurlijk, geen @include toestanden.
De resultaten moeten natuurlijk kloppen anders werkt het met mysql_query ook niet , en dat doet het dus wel.
Wij hebben een goede if-else(if) structuur , enkelt ga ik niet mijn hele bestanden tonen dat schiet gewoon niet op.
De fout zit in de nieuwe mysqli , enkelt ziet niemand de fout blijkbaar.... want er word enkelt maar gepraat over dit niet goed dat niet goed , terwijl alles perfect werkt zonder enig memory load.
Zo perfect werkt het nou ook weer niet, anders had je deze post niet geplaatst. Omdat de melding is dat er geen object is aangemaakt, moet het probleem daar ergens voor zitten. Om het duidelijk te krijgen waar het probleem precies zit, worden een aantal suggesties gedaan.
Check eerst eens of na het aanmaken van $mysqli het wel een object is: is_object($mysqli).
Als dat zo is, check dat dan nog eens voordat je er iets mee gaat doen.
?
Onbekende gebruiker
14-08-2011 18:06
gewijzigd op 14-08-2011 18:07
Antwoord is heel simpel, je roept een methode aan zonder dat hij is gedeclareerd.
Dus je config wordt niet ingeladen.
Makkelijker zou zijn als je de relevante code hier toont, en niet alleen een paar kleine stukjes.
<?
require('_config.php'); //Als dit niet lukt, treed er fatal error op. Error mooier weergeven kan met eigen error handler
if(defined('ON_INDEX')) {
redirect('./');
}else {
define('ON_INDEX', __FILE__);
}
?>
Het is grappig dat je mijn code aanpast enkelt heb ik daar niet om gevraagd.
het is heel simpel , als een website werkt op mysql_query met de huidige if else etc.
zal het natuurlijk met mysqli ook moeten kunnen gaan werken , het heeft er dus geen zak mee te maken kwa if else structuur of hoe de config word ingeladen (want dat wordt hij duidelijk met bijna 1 miljoen online leden)
Het is toch niet zo moeilijk om mij ipv te verwijzen naar een dom engels forum phpnet , of enkelt maar kritiek te leveren te helpen ?
Waar is de kwaliteit gebleven van phphulp ?
de bakker zegt ook niet ik heb liever dat je het zo en zo doet als je enkelt om een brood vraagt.
En als het dan zo moeilijk is om normaal andwoord te geven en hulp te bieden mag je dat ook zeggen hoor geen enkel probleem zoek ik gewoon een ander forum waar de kwaliteit beter is..