INSERT MySQLi lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Medior Java developer (fullstack)

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 »
Rene Zwolsman

Rene Zwolsman

04/12/2014 20:36:10
Quote Anchor link
Voorheen gebruikte ik altijd de MySQL querys maar nu wil ik over gaan naar MySQLi maar zelfs met een simpele test krijg ik geen resultaat.

Ik heb de volgende code:

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
18
19
20
21
22
<?php
$conn
= new mysqli('localhost', 'root', 'password', 'ResolDB');
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

echo "Connected successfully <br>";

$veld1 = '2014-01-01 00:01:00';
$veld2 = 11.0;
$resultaat = mysqli_query($conn, "INSERT INTO test (Timestamp, TS1) VALUES ('" . $veld1 . "','" . $veld2 . "');");
if ($resultaat == false)
{

    echo "Query mislukt. Foutmelding is: " . mysqli_error();
}

else
{
    echo "Query gelukt!";
}


mysqli_close($conn);
?>


met het volgende resultaat:

Connected successfully
Query mislukt. Foutmelding is:


Er komt dus niet eens een foutmelding. Waar gaat het fout?
Gewijzigd op 04/12/2014 20:39:30 door Rene Zwolsman
 
PHP hulp

PHP hulp

27/05/2026 07:12:05
 
Daan Slagter

Daan Slagter

04/12/2014 20:42:20
Quote Anchor link
Volgens mij moeten de haakjes aan het eind van je query weg er staan er nu namenlijk 2

dit: "');");
moet zijn: "')");
 
- Ariën  -
Beheerder

- Ariën -

04/12/2014 20:44:36
Quote Anchor link
Je mist $conn in je mysql_error, en je hoeft geen afsluitende punt-komma in je query zelf te plaatsen.
 
Rene Zwolsman

Rene Zwolsman

04/12/2014 22:14:53
Quote Anchor link
Code aangepast naar:

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
18
19
20
21
22
23
24
<?php

$conn
= new mysqli('localhost', 'root', 'password', 'ResolDB');
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

echo "Connected successfully <br>";

$veld1 = '2014-01-01 00:01:00';
$veld2 = 11.0;
$resultaat = mysqli_query($conn, "INSERT INTO test (Timestamp, TS1) VALUES ('" . $veld1 . "','" . $veld2 . "')");
if ($resultaat == false)
{

    echo "Query mislukt. Foutmelding is: " . mysqli_error($conn);
}

else
{
    echo "Query gelukt!";
}


mysqli_close($conn);

?>


maar het resultaat is hetzelfde...
 
Dos Moonen

Dos Moonen

04/12/2014 23:41:31
Quote Anchor link
Je gebruikt de OOP interface en de procedurele interfaces door elkaar.
Over het algemeen niet erg, behalve bij het controleren of de verbinding tot stand is gekomen.

http://nl3.php.net/manual/en/mysqli.construct.php

OOP:
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
// DIT GEBRUIK JIJ
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */

if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}


echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>


Procedureel:
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
$link
= mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

// DIT GEBRUIK JIJ
if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}


echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>


Volgens de gelinkte documentatie:
Quote:
Note:
OO syntax only: If a connection fails an object is still returned. To check if the connection failed then use either the mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.
 
Rene Zwolsman

Rene Zwolsman

07/12/2014 08:39:33
Quote Anchor link
Het is gelukt! De fout zat in een hoofdletter ipv kleine letter van de databasenaam. Maar deze kwam blijkbaar niet als foutmelding naar voren in de oorspronkelijke code.

Resultaat:

Success... Localhost via UNIX socket
Query gelukt!

Bedankt!
 
Rene Zwolsman

Rene Zwolsman

22/12/2014 15:35:20
Quote Anchor link
Toch nog een vraag over de INSERT in de database. Ik wil 49 waarden per regel toevoegen in de database. De eerste kolom van de database is "id" met een auto_increment zodat elke regel die wordt toegevoegd een hoger nummertje krijgt. Totaal heb ik dus 50 kolommen. De variabelen die ik insert, staan in de volgorde van de kolommen waardoor ik, volgens mij, niet alle kolomnamen hoef te omschrijven in mijn INSERT query. Maar als ik 49 variabelen in mijn query opneem, geeft hij als resultaat dat het aantal kolommen niet overeenkomt met het aantal waarden. Ik moet voor de kolom id een variabele opgeven om het te laten werken maar ik dacht dat dat juist niet hoeft omdat deze kolom automatisch gevuld wordt. Is dit een instelling in de database?
 
- Ariën  -
Beheerder

- Ariën -

22/12/2014 15:36:30
Quote Anchor link
Je kan ook een lege string voor het ID-kolom invullen, want AutoIncrement regelt toch de juist oplopende waarde.

Maar... waarom 50 kolommen? Dit klinkt als een database-normaliseringsfout.
Gewijzigd op 22/12/2014 15:37:39 door - Ariën -
 
Rene Zwolsman

Rene Zwolsman

22/12/2014 15:49:22
Quote Anchor link
ja met een lege waarde werkt het, maar ik dacht dat dat niet nodig was.

Ik heb een datalogger welke in een JSON output geeft van 47 verschillende sensoren. (20*temperatuur / 6*druk / 6*stroomsnelheid / 1*straling / 14*pompvermogen ) Deze waarden wil ik per minuut opslaan in een database om vervolgens grafieken van de maken. Tips voor andere oplossingen?
 
- Ariën  -
Beheerder

- Ariën -

22/12/2014 15:55:46
Quote Anchor link
Op voorbereiding voor de toekomst zou ik kiezen om een tabel te maken met sensors, met de velden:
Sensors:
ID (PK) AutoIncrement
Sensor - varchar(50)

En dan een tabel met de metingen:
Measures:
ID (PK) AutoIncrement
SensorID INT(6)
Value
DateMeasuring - DATETIME

Mocht er een nieuwe sensor komen, kan je die toevoegen aan de Sensors-tabel.
Gewijzigd op 22/12/2014 15:56:35 door - Ariën -
 
Rene Zwolsman

Rene Zwolsman

22/12/2014 16:05:29
Quote Anchor link
Bedankt voor het meedenken! De tabel met sensoren blijft dan hetzelfde zolang er geen sensoren bijkomen?
In de 50 sensoren die er nu gelogd worden, zitten er ca 20 die nog niet aangesloten zijn en als standaard waarde 888 °C of 0% geven. Dit zit vastgebakken in de API en kan ik dus niet aanpassen, hooguit niet opslaan (wat ik nu dus wel doe als voorbereiding voor uitbreiding in de toekomst) Meer sensoren dan die 50 is op het apparaat niet mogelijk dus verdere uitbreiding kan niet.

Maar misschien ga ik het toch eens proberen met 2 tabellen. Maar hoe selecteer ik dan een Value behorende bij een bepaalde sensor?
 
- Ariën  -
Beheerder

- Ariën -

22/12/2014 16:11:57
Quote Anchor link
Je hoeft de structuur van je tabellen niet meer aan te passen als er een nieuwe sensor bij komt. Een extra record toevoegen is het enige wat je hoeft te doen.

SELECT Value,DateMeasuring FROM Measures WHERE SensorID=4
En dan heb je alle gegevens van de sensor die ID 4 heeft in de Sensor-table.

Je kan bijvoorbeeld een extra veld (active) )aanmaken in de Sensor-table die aangeeft of een sensor actief is. Zo kan je foutieve waardes filteren die steeds 888°C graden zijn.
Gewijzigd op 22/12/2014 16:12:33 door - Ariën -
 
Ivo P

Ivo P

22/12/2014 21:50:51
Quote Anchor link
Quote:
De variabelen die ik insert, staan in de volgorde van de kolommen


Die kolommen staan NU in een volgorde en daarop baseer jij je code.

Een paar mogelijkheden:
* er wordt een aanpassing gedaan en er komt een kolom bij (aan het einde)
* er wordt een anderzins gerommeld aan de tabel en hoewel alle kolommen blijven zijn er 2 van plek verwissseld
* iemand denkt dat ze op alfabet zetten zinnig is.

En ineens valt je code om. Met wat geluk met een foutmelding, met wat pech merk je pas na 2 maanden dat de email adressen nu in een kolom varchar 10 staan en de telefoonnummers in de kolom die voor de email adressen was.

Het is 2 minuten werk om ze even uit te typen, of een halve minuut als je een beetje handig bent met copy-paste uit een create-query in je database beheertool.

Het is uren werk om je corrupte data te herstellen.
 
Rene Zwolsman

Rene Zwolsman

24/12/2014 15:16:05
Quote Anchor link
Omdat ik de kolomnamen vanuit de JSON in een array heb gezet, is het niet zo moeilijk om ze uit te typen maar het was meer om de code in te korten.

Toch snap ik de toegevoegde waarde nog niet zo van 2 tabellen. Tabel 1 met de sensoren snap ik. Een extra sensor is een extra regel. Maar zodra er een extra sensor is, moet ik in de tabel Measures toch nog steeds een kolom toevoegen? En dat is niet anders dan ik zou moeten doen bij mijn huidige opzet? Alleen heet de kolom dan bv SensorID 21 ipv Temperature_sensor_21. Of zie ik dit verkeerd?
 
- Ariën  -
Beheerder

- Ariën -

24/12/2014 15:32:10
Quote Anchor link
Je hoeft een enkel record toe te voegen met de sensornaam, waarna een while-loop deze sensor meteen meeneemt bij het loggen, en het scheelt weer een aanpassing aan je script per sensor.

Velden toevoegen voor extra sensoren is nergens voor nodig.
Gewijzigd op 24/12/2014 15:43:32 door - Ariën -
 



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.