INSERT MySQLi lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

UX Writer (m/v/d)

UX Writer (m/v/d) Everything we do, starts with you. Together with you, we build the most human-centric fintech. We have the ambition to create the next. And - with Bertelsmann - a strong foundation to start from. Let’s make it new – for society and for yourself. Wij zijn op zoek naar een UX Writer (m/v/d) Fulltime - Op ons kantoor in Amsterdam of Heerenveen / deels vanuit huis Als UX Writer bij Riverty hou jij je bezig met onze strategie om daar te zijn waar onze gebruikers zijn en op de manier waarop zij ons nodig hebben, terwijl wij

Bekijk vacature »

Als PHP developer bijdragen aan beter onderwijs?

Functie Momenteel zijn ze op zoek naar een PHP developer die mee gaat werken aan de (door)ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js en

Bekijk vacature »

High level C++ QT Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13486 Introductie Would you like to be involved in every aspect of software development for our exceptional products, from specification and design to testing and integration? If you're passionate about software development and eager to apply your programming skills to create customer-focused deliverables, then this is the perfect chance for you to expand your expertise. You can become a member of our Machine Control department's data-driven development team, where you'll design and build software solutions that optimize machine productivity. As a senior software design engineer, you'll participate in all phases

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

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 »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Barendrecht! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

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 »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

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 »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

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

15/11/2024 11:52:07
 
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.