MySQL records aanpassen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

Junior/Medior Front-end developer

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

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 »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

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 »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

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

22/11/2024 03:58:37
 
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.