Fatal error: Class 'mysqli' not found

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »
Danny van Kempen

Danny van Kempen

20/11/2014 21:21:18
Quote Anchor link
Wanneer ik de volgende methode uitvoer krijg ik de volgende foutmelding:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
namespace TEST
{
    class DB_Connectie
    {
        public function Connect()
        {

            $mysqli = new mysqli('localhost', 'gegevens', 'wachtwoord', 'gegevens');
            $mysqli->set_charset("utf8");
            if(mysqli_connect_errno())
            {

                trigger_error('Fout bij verbinding: '.$mysqli->error);
            }
        }
    }
}

?>


Fatal error: Class 'TEST\mysqli' not found op regel 8'

mysqli is wel geïnstalleerd. Dit heb ik ook gecontroleerd. Waar zit hier de fout?
 
PHP hulp

PHP hulp

25/12/2024 02:15:41
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/11/2014 21:37:35
Quote Anchor link
Omdat je Namespaces gebruikt zoekt php de class mysqli in je eigen namespace TEST.
Daar is de class echter niet te vinden. De class is in de global namespace te vinden.
en dat kun je aangeven door voor de classnaam een \ te schrijven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$mysqli
= new \mysqli('localhost', 'gegevens', 'wachtwoord', 'gegevens');
?>


Je krijgt dit met alle standaard PHP classes zoals bijvoorbeeld ook DateTime.
Gewijzigd op 20/11/2014 21:38:29 door Frank Nietbelangrijk
 
Danny van Kempen

Danny van Kempen

20/11/2014 22:09:49
Quote Anchor link
Ok het probleem met de namespace heb ik inmiddels opgelost. Nu zit ik met het volgende probleem.
Wanneer ik een connectie wil openen op de volgende manier krijg ik de volgende foutmelding:



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace TEST
{
    class DB_Connectie
    {
        public function ConnectieOpenen()
        {
            $mysqli = new \mysqli('localhost', '**', '**', '**');
            $mysqli->set_charset("utf8");
            if(mysqli_connect_errno())
            {
                trigger_error('Fout bij verbinding: '.$mysqli->error);
            }
            return $mysqli;
        }
    }
}


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace TEST
{
    include ('DB_Connectie.php');
    
    class DL_Account extends BL_Account
    {    
        public function SelectAllAccounts()
        {            
            $DB_Connectie = new DB_Connectie();
            $DB_Connectie->ConnectieOpenen();
            $result = mysqli_query($mysqli, "SelectAllAccounts") or die("Query fail: " . mysqli_error());                        
            return $result;    
        }
    }
}


Warning: mysqli_query() expects parameter 1 to be mysqli, null given in ... on line 11

Warning: mysqli_error() expects exactly 1 parameter, 0 given in ... on line 11
Query fail:
Gewijzigd op 20/11/2014 22:16:50 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/11/2014 22:14:32
Quote Anchor link
Je kunt mysqli op twee manieren gebruiken:

1. object oriënted
2. procedureel

Jij gebruikt beiden door elkaar en dat gaat niet werken.

Regel 11 zal iets worden als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$mysqli
->query("SelectAllAccounts");
?>


(niet getest)
 
Danny van Kempen

Danny van Kempen

20/11/2014 22:24:26
Quote Anchor link
Frank Nietbelangrijk op 20/11/2014 22:14:32:
Je kunt mysqli op twee manieren gebruiken:

1. object oriënted
2. procedureel

Jij gebruikt beiden door elkaar en dat gaat niet werken.

Regel 11 zal iets worden als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$mysqli
->query("SelectAllAccounts");
?>


(niet getest)


Hierop krijg ik nu de volgende foutmelding:
Fatal error: Call to a member function query() on a non-object in ... on line 11
 
Dos Moonen

Dos Moonen

20/11/2014 22:30:37
Quote Anchor link
Tuurlijk werkt dat wel. de procedurele MySQLi manier is een wrapper om de object oriënted manier.

Wat niet werkt is een variabele gedefineerd in een scope gebruiken in een hele andere scope.
http://php.net/manual/en/language.variables.scope.php

Hoe kom je dan aan je connectie? Geef de connectie mee als argument aan de selectAllAccounts() methode, of aan de constructor van de class.
 
Danny van Kempen

Danny van Kempen

20/11/2014 22:36:57
Quote Anchor link
Dos Moonen op 20/11/2014 22:30:37:
Tuurlijk werkt dat wel. de procedurele MySQLi manier is een wrapper om de object oriënted manier.

Wat niet werkt is een variabele gedefineerd in een scope gebruiken in een hele andere scope.
http://php.net/manual/en/language.variables.scope.php

Hoe kom je dan aan je connectie? Geef de connectie mee als argument aan de selectAllAccounts() methode, of aan de constructor van de class.


Oke ik zie het al inderdaad;) Het werkt
Gewijzigd op 20/11/2014 22:52:55 door Danny van Kempen
 
Dos Moonen

Dos Moonen

20/11/2014 22:44:24
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$mysqli
  = ...
$dl_account = ...

$dl_account->sellectAllAccounts($mysqli);

?>


Of

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

$mysqli
= ...
$dl_account = new DL_Account($mysqli, ...);

$dl_account->sellectAllAccount();

?>


Of iets vergelijkbaars
 
Danny van Kempen

Danny van Kempen

20/11/2014 22:53:24
Quote Anchor link
Ok ja het werkt. Was iets te snel met reageren;) Toch heel erg bedankt
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/11/2014 08:56:56
Quote Anchor link
Dos Moonen op 20/11/2014 22:30:37:
Tuurlijk werkt dat wel. de procedurele MySQLi manier is een wrapper om de object oriënted manier.


Hmmm Dos oké ik had al eerder op dit board dezelfde opmerking gelezen. Blijkt dus dat het wel kan werken maar vindt je het netjes? Ik zou dan toch voor één van de twee kiezen.
 
Dos Moonen

Dos Moonen

21/11/2014 09:32:20
Quote Anchor link
Netjes is inderdaad iets anders.
 



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.