MySQL records aanpassen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van IT Operations Manager! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! 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

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

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 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 de functionele aspecten, zodat

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

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 »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »
Arjan van Rossen

Arjan van Rossen

11/02/2013 14:20:03
Quote Anchor link
Ik heb met behulp van wat video's een script gemaakt waarmee je in MySQL een database kan updaten maar nu ben ik bezig om de knop 'bewerken' werkende te krijgen. Wanneer ik bij een record op de update knop druk gebeurd er niets maar veranderd de het browser adres in ../facturen/?sel_record=&update=Bijwerken+

Wanneer ik puur alleen het update php script laad krijg ik de volgende melding:

Warning: mysql_query() expects parameter 2 to be resource, null given in /.../facturen/updateform.php on line 12



Hier het index script:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?PHP
mysql_connect("localhost","user","wachtwoord");
mysql_select_db("databasenaam hier");

$sql="SELECT * from contacts ORDER BY factnum ASC";

$pageTitle = "Facturen administratie";

print <<<HERE
<h2>Facturen</h2>
Selecteer een factuur om te bewerken of te verwijderen of <a href="add.php">voeg een nieuwe factuur</a> toe.<br/><br/>
<table id="home">
HERE
;

$sql = mysql_query("SELECT * FROM formulier");

$factnum = 'factnum';
$bedrijfsnaam = 'bedrijfsnaam';
$contactpersoon = 'contactpersoon';
$phone = 'phone';
$email = 'email';
$object = 'object';
$date = 'date';
$amount = 'amount';
$betalingstermijn = 'betalingstermijn';
$voldaan = 'voldaan';
$comments = 'comments';
while ($rows = mysql_fetch_assoc($sql)){


print <<<HERE
<table width="48%" border="10">
  <tr>
    <td width="35%"><div align="right">
    <form method="POST action="confirmdelete.php">
<input type="hidden" name="sel_record" value="$id">
<input type="submit" name="delete" value="Verwijder "></form></div></td>
    <td width="65%"><div align="left">
<form method="POST action="updateform.php">
<input type="hidden" name="sel_record" value="$id">
<input type="submit" name="update" value="Bijwerken "></form>
</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Factuurnummer:</strong></div></td>
    <td><div align="left">$rows[$factnum]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Bedrijfsnaam:</strong></div></td>
    <td><div align="left">$rows[$bedrijfsnaam]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Contactpersoon:</strong></div></td>
    <td><div align="left">$rows[$contactpersoon]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Telefoonnummer:</strong></div></td>
    <td><div align="left">$rows[$phone]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>E-mail</strong></div></td>
    <td><div align="left">$rows[$email]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Evenement / object:</strong></div></td>
    <td><div align="left">$rows[$object]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Factuurdatum:</strong></div></td>
    <td><div align="left">$rows[$date]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Factuurbedrag:</strong></div></td>
    <td><div align="left">$rows[$amount]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Betalingstermijn: </strong></div></td>
    <td><div align="left">$rows[$betalingstermijn]</div></td>
  </tr>
    <tr>
    <td><div align="right"><strong>reeds voldaan: </strong></div></td>
    <td><div align="left">$rows[$voldaan]</div></td>
  </tr>
  <tr>
    <td><div align="right"><strong>Opmerkingen:</strong></div></td>
    <td><div align="left">$rows[$comments]</div></td>
  </tr>
</table><p></td></tr>
HERE
;

}

?>


Dan het update script:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?PHP

mysql_connect("localhost","user","wachtwoord");
mysql_select_db("databasenaam hier");

$sel_record = $_POST[sel_record];

//SQL statement om informatie te selecteren
$sql = "SELECT * FROM contacts WHERE id = '$sel_record'";

    // uitvoeren SQL query en verkrijg het resultaat
    $result = mysql_query($sql, $db) or die (mysql_error());
    if (!$result) {
        print "<hi>ER is een fout opgetreden!</h1>";
    }
else {
        // ga door records en verkrijg waarden
        while ($record = mysql_fetch_array($result)) {
            $id = $record['id'];
            $factnum = $record['factnum'];
            $bedrijfsnaam = $record['bedrijfsnaam'];
            $contactpersoon = $record['contactpersoon'];
            $phone = $record['phone'];
            $email = $record['email'];
            $object = $record['object'];
            $date = $record['date'];
            $amount = $record['amount'];
            $betalingstermijn = $record['betalingstermijn'];
            $voldaan = $record['voldaan'];
            $comments = $record['comments'];
}
// Einde lus

$pageTitle = "Bewerk een factuur";
print <<<HERE
        <h2>Bewerk deze factuur</h2>
            <p>Verander de waardes in de tekstboxen en click op de "bewerk factuur" knop.</p>
            <p>img src="$filename" /></p>
            
        <form id = "myForm" method="POST" action="update.php">
        <input type="hidden" name="id" value="$id">
        <div>
            <label for="factnum">Factuurnummer:</label>
            <input type="tekst" name="factnum" id="factnum" value="$factnum">
        </div>
        <div>
            <label for="bedrijfsnaam">Bedrijfsnaam:</label>
            <input type="tekst" name="bedrijfsnaam" id="bedrijfsnaam" value="$bedrijfsnaam">
        </div>
        <div>
            <label for="contactpersoon">Contactpersoon:</label>
            <input type="tekst" name="contactpersoon" id="contactpersoon" value="$contactpersoon">
        </div>
        <div>
            <label for="phone">Telefoonnummer:</label>
            <input type="tekst" name="phone" id="phone" value="$phone">
        </div>
        <div>
            <label for="email">E-mail:</label>
            <input type="tekst" name="email" id="email" value="$email">
        </div>
        <div>
            <label for="object">Object / evenement:</label>
            <input type="tekst" name="object" id="object" value="$object">
        </div>
        <div>
            <label for="date">Factuurdatum:</label>
            <input type="tekst" name="date" id="date" value="$date">
        </div>
        <div>
            <label for="amount">Factuurbedrag:</label>
            <input type="tekst" name="amount" id="amount" value="$amount">
        </div>
        <div>
            <label for="betalingstermijn">Betalingstermijn</label>
            <input type="tekst" name="betalingstermijn" id="betalingstermijn" value="$betalingstermijn">
        </div>
        <div>
            <label for="voldaan">Voldaan</label>
            <input type="tekst" name="voldaan" id="voldaan" value="$voldaan">
        </div>
        <div>
            <label for="bedrijfsnaam">Opmerkingen:</label>
            <input type="tekst" name="comments" id="comments" value="$comments">
        </div>
        </form>
        
HERE
;
}


?>


Sorry als het allemaal wat warrig staat.. Kan iemand mij vertellen wat er fout is..?
 
PHP hulp

PHP hulp

05/11/2024 15:56:46
 
Erwin H

Erwin H

11/02/2013 14:28:40
Quote Anchor link
Je eerste fout is dat je html niet correct is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="POST action="updateform.php">

Er mist een dubbele quote achter POST, daardoor wordt dat niet gelezen en wordt het via een GET request verstuurd.

Ten tweede controleer je in je update pagina helemaal niet of er wel een POST request is gedaan en is dit ook een foute manier van een array aanspreken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sel_record
= $_POST[sel_record];

//moet zijn:
$sel_record = $_POST['sel_record'];
?>
 
Arjan van Rossen

Arjan van Rossen

11/02/2013 14:48:32
Quote Anchor link
Dank je voor je reactie. Allereest dom van me om een " te vergeten. Wist echter niet dat hij dan van een POST een GET zou maken wat wel de adres balk verklaard. De 2e error blijft echter bestaan na de aangegeven aanpassing gemaakt te hebben.

Warning: mysql_query() expects parameter 2 to be resource, null given in /../../facturen/updateform.php on line 12

Dit gaat blijkbaar over:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP

$result
= mysql_query($sql, $db) or die (mysql_error());

?>


Enig idee wat hier mis mee is?

Dank je!
Gewijzigd op 11/02/2013 14:49:16 door Arjan van Rossen
 
Erwin H

Erwin H

11/02/2013 14:53:17
Quote Anchor link
Ja, dat je geen correcte foutafhandeling hebt. Dit is zo'n bekende foutmelding (komt hier ongeveer 10x per dag langs), dat je het met een beetje zoeken zou moeten kunnen vinden.
De warning zegt het zelf al, mysql_query verwacht dat de tweede parameter een resource is, maar je geeft null mee. Oftwel, $db is niet wat het moet zijn. Het moet een link zijn naar de database (een resource), maar het is null (helemaal niets, bestaat niet). Het connecten met de database is dus fout gegaan. Met goede foutafhandeling kan je dat zelf heel snel vinden.
 
Arjan van Rossen

Arjan van Rossen

11/02/2013 15:25:41
Quote Anchor link
Betekend dit dat ik nog ergens $db moet specificeren of snap ik het niet goed. Ik heb wel de or die (mysql_error())tekst weggehaald. Als ik $db helemaal weghaal verschijnt wel het formulier maar is hij helemaal leeg. Ik neem aan dat $db de inhoud hierin geeft..?
 
Erwin H

Erwin H

11/02/2013 15:39:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

mysql_connect("localhost","user","wachtwoord");
mysql_select_db("databasenaam hier");

?>

Staat dit zo letterlijk in je script, of zijn dit allemaal fictieve waardes om ervoor te zorgen dat je gegevens niet leesbaar zijn? Het laatst is uiteraard prima, het eerste dan zal je nooit toegang krijgen tot je database.

Daarna kan je bij beide functies kijken hoe het zit met de return waarde. Beide geven namelijk een resource terug, of false als het niet gelukt is. Beide zou je dus moeten controleren om te zien of je wel verbinding met de database hebt.
 
Kris Peeters

Kris Peeters

11/02/2013 15:42:35
Quote Anchor link
Arjan van Rossen op 11/02/2013 15:25:41:
Betekend dit dat ik nog ergens $db moet specificeren


Ja.

Dat is de return van mysql_connect.

Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
...
$db = mysql_connect("localhost","user","wachtwoord");
mysql_select_db("databasenaam hier");
...

?>
 
Arjan van Rossen

Arjan van Rossen

11/02/2013 15:59:03
Quote Anchor link
Dit zijn ficieve waardes die ik erin gezet heb toen ik het script hier plaatste. Ik gebruik dezelfde waarde in de index.php pagina waar de inhoud van de database getoont word en dit lijkt gewoon te werken. Blijft dus over waarom hij problemen heeft met $db
 
Erwin H

Erwin H

11/02/2013 16:04:24
Quote Anchor link
Waarom hij problemen heeft is duidelijk en hierboven al uitgelegd. Voor je dan verwijst naar de index pagina alszijnde dat je daar hetzelfde doet.... dat is in elk geval niet het geval:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
//index
$sql = mysql_query("SELECT * FROM formulier");

//update
$result = mysql_query($sql, $db)
?>
 
Arjan van Rossen

Arjan van Rossen

11/02/2013 16:08:47
Quote Anchor link
Bovenstaande bericht zag ik pas toen ik jouw bericht las. Ik had namelijk de pagina geopend staan terwijl ik dingen aan het uitzoeken en testen was. Hierna heb ik mijn antwoor getyped waardoor ik bovenstaande niet zag. De foutmelding is nu iig weg. Blijf ik met het feit zitten dat ik zou denken dat in het formulier wat dan verschijnt de oude waardes die ik wil aanpassen behoren te staan, maar goed, dat moet ik maar eens gaan uitzoeken ;)

Iedereen bedankt voor de hulp!
 
Ramon Bos

Ramon Bos

11/02/2013 16:19:36
Quote Anchor link
Bij het connecten retourneert mysql_connect (indien succesvol) een resource. Handig als je met meerdere databases werkt. Deze kan in een variabele worden gezet (bijv. $db). Deze resource heb je nodig bij verdere database bewerkingen (selecteren database, uitvoeren van queries). Wanneer geen resource wordt opgegeven, wordt de resource van de laatste database connectie genomen.

In jouw geval lijkt dat niet zo te zijn dat je met meerdere databases werkt, dus kan $db achterwege gelaten worden.

Om het probleem in je script op te lossen kun je:
1. $db = mysql_connect("localhost", "user", "wachtwoord") uitvoeren, om een resource waarde in $db te krijgen
2. regel 12: $result = mysql_query($sql) or die (mysql_error());
dus zonder $db erbij.

Als je dan nog een leeg formulier krijgt, denk ik dat je in regel 9 van je query de opgehaalde id niet tussen single quotes ('') moet zetten (ten minste, ik neem aan dat id een getal is).
Je regel wordt dan (sorry voor het niet weten van de code-quotes):
$sql = "SELECT * FROM contacts WHERE id = " . $sel_record;
 
Arjan van Rossen

Arjan van Rossen

11/02/2013 16:44:48
Quote Anchor link
Helaas heeft dit niet de juiste uitkomst.

Toevoeging op 11/02/2013 17:20:44:

Overigens wanneer ik de wijzigingen submit kom ik op de volgende error uit door update.php welke ik hieronder zal plaatsen.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'betalingstermijn='30', voldaan='ja', comments='geen', where id=''' at line 10

Enig idee wat hier de rede van is..?

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

include "dbinfo.php";

$id = $_POST[id];
$factnum = $_POST[factnum];
$bedrijfsnaam = $_POST[bedrijfsnaam];
$contactpersoon = $_POST[contactpersoon];
$phone = $_POST[phone];
$email = $_POST[email];
$object = $_POST[object];
$date = $_POST[date];
$amount = $_POST[amount];
$betalingstermijn = $_POST[betalingstermijn];
$voldaan = $_POST[voldaan];
$comments = $_POST[comments];

$sql="UPDATE contacts SET
factnum='$factnum',
bedrijfsnaam='$bedrijfsnaam',
contactpersoon= '$contactpersoon',
phone='$phone',
email='$email',
object='$object',
date='$date',
amount='$amount'
betalingstermijn='$betalingstermijn',
voldaan='$voldaan',
comments='$comments',
where id='$id' "
;

$result=mysql_query($sql) or die (mysql_error());

print "<html><head><title>Update Results</title></head><body>";
include "header.php";
print <<<HERE
<h1>The new record looks like this: </h1>
<p><strong>Factuurnummer:</strong>$factnum</p>
<p><strong>Bedrijfsnaam:</strong> $bedrijfsnaam</p>
<p><strong>Contactpersoon:</strong> $contactpersoon</p>
<p><strong>Phone:</strong> $phone</p>
<p><strong>E-mail:</strong>$email</p>
<p><strong>Object / evenement:</strong> $object</p>
<p><strong>Factuurdatum:</strong> $date</p>
<p><strong>Factuurbedrag:</strong> $amount</p>
<p><strong>Betalingstermijn:</strong>$betalingstermijn</p>
<p><strong>Voldaan:</strong> $voldaan</p>
<p><strong>Opmerkingen:</strong> $comments</p>
HERE
;


?>
 
Wim Tubbax

Wim Tubbax

12/02/2013 10:08:35
Quote Anchor link
Zoals de foutmelding aangeeft is de SQL-instructie niet correct.
Ik zie zo direct twee fouten :
- er hoeft geen comma achter comments='geen'
- er is geen waarde ingevuld voor het id
 
Arjan van Rossen

Arjan van Rossen

12/02/2013 11:19:21
Quote Anchor link
Ik snap alleen niet waarom in regel 11 tm 13 date underlined is en de rest niet. In mijn eigen editor is die value ook een andere kleur.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
$object
= $_POST[object];
$date = $_POST[date];
$amount = $_POST[amount];
?>


En word hier niet de waarde voor id aangegeven in regel 30..?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
where id='$id' ";
?>


Ik loop alles nog even na maar bovenstaande snap ik niet :s
Veel te leren nog
 
Kris Peeters

Kris Peeters

12/02/2013 11:23:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// niet zo!!!!
$id = $_POST[id];

// wel zo
$id = $_POST['id'];
?>


dito voor al de rest
 
Bart V B

Bart V B

12/02/2013 11:28:14
Quote Anchor link
Begin eerst eens met je variabelen buiten quotes te zetten in de query.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sql
="UPDATE contacts SET
factnum='"
.$factnum."'
// rest ook doen
"
;
?>

- Ook die overbodige variabelen zijn niet nodig.
- Het is $_POST['iets'] en niet $_POST[iets].
- Haal die stomme heredoc eens weg en scheid daar eens je html van je php dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<h1>The new record looks like this: </h1>
<p><strong>Factuurnummer:</strong><?php echo $factnum;?></p>
// enz
 
- Ariën  -
Beheerder

- Ariën -

12/02/2013 11:29:27
Quote Anchor link
Arjan van Rossen op 12/02/2013 11:19:21:
Ik snap alleen niet waarom in regel 11 tm 13 date underlined is en de rest niet.

het is een onbedoelde feature van PHPhulp, date is ook een PHP-functie, en de code achter PHPhulp kent blijkbaar geen onderscheid tussen functies en normale tekst in een codeblok.
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
$object
= $_POST[object];
$date = $_POST[date];
$amount = $_POST[amount];
?>

Als je iets tussen brackets wilt vermelden, dan is het een string, en dus raad ik aan om single-quotes te gebruiken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$amount = $_POST['amount'];

Eigenlijk is dit best overdreven omdat de waarde al in $_POST['amount'] staat, dus waarom zou je het nog eens in $amount willen plaatsen? Het komt neer op onnodige geheugen verspilling...

Het beste advies is om $_POST, $_GET, $_COOKIE, $_SESSION en andere dergeijke variabelen direct in je query te plaatsen. ZO heb je een makkelijk overzicht waarin je in één oogopslag kan zien waar de variabele vandaan komt.
Let op: Vergeet hierbij niet om deze door variabelen door mysql_real_escape_string() te halen. Want anders kan iedereen de query heel simpel manipuleren, met groot gevaar tot toegang tot je database tot gevolg.
Dit heet SQL-injection.....
 
Kris Peeters

Kris Peeters

12/02/2013 11:35:02
Quote Anchor link
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
<?php
$sql
="
UPDATE contacts SET
  factnum='$factnum',
  bedrijfsnaam='$bedrijfsnaam',
  contactpersoon='$contactpersoon',
  phone='$phone',
  email='$email',
  object='$object',
  date='$date',
  amount='$amount',
  betalingstermijn='$betalingstermijn',
  voldaan='$voldaan',
  comments='$comments'
WHERE id='$id' "
;
?>


Je merkt dat er bij jou een komma staat na comments='$comments' . Die hoort daar niet.
En je bent een komma vergeten na amount.

Ik snap wel wat je bedoelt; een computer niet. Je mag geen enkele komma vergeten of te veel zetten.

Dit is vooral door proper te werken en goed uit te kijken.

---

INJECTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Bescherm je sql strings, door te escapen. Anders gaan hackers met je site aan de haal.

Als je het wil inwerken in je laatste code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
...
$id = intval($_POST['id']);    // als het en interger moet zijn
$factnum = mysql_real_escape_string($_POST['factnum']);  // als het en string moet zijn
$bedrijfsnaam = mysql_real_escape_string($_POST['bedrijfsnaam']);
...

?>



-----

Ofwel dus rechtstreeks

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$sql
="
UPDATE contacts SET
  factnum='"
. mysql_real_escape_string($_POST['factnum']) . "',
  bedrijfsnaam='"
. mysql_real_escape_string($_POST['bedrijfsnaam']) . "',
  contactpersoon='"
. mysql_real_escape_string($_POST['contactpersoon']) . "',
...
"
;
?>
Gewijzigd op 12/02/2013 11:43:35 door Kris Peeters
 
Arjan van Rossen

Arjan van Rossen

12/02/2013 12:09:57
Quote Anchor link
Dank jullie allen! Ik ga het later vandaag allemaal rustig onder de loep nemen!
 



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.