INSERT MySQLi lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

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 »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

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 »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

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

29/03/2024 14:45:24
 
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.