Ello ppl,
Ik ben sinds kort op stage, en ik heb hier de opdracht om een CD-ROM database te maken, die vanalles over de CD omschrijft en de plaats in het gebouw aanwijst.
Dit komt in het Intranet te staan voor als mensen een bepaalde CD zoeken.
Maar voordat ik dat ga doen moet ik eerst mijn PHP en SQL skillz wat opvoeren, aangezien ik sinds midden vorige week nog geen letter PHP kon coden
Ondertussen heb ik me wat lopen verdiepen in PHP, en ik heb met mijn mede-stagair de complete PHP manual uitgeprint (bad move
veeeeeeel papier en de printer printte het ongesorteerd
).
Daarnaa hebben we een P3-1Ghz PC gepakt die vermeend was gestorven te zijn.
Die hebben we dus even weer leven in geblazen en we hebben er Win2Kpro, Apache 1.3.2, PHP 4.3.2, MySQL 3.23.57 en ActivePerl 5.8.0 op gezet.
dat loopt allemaal als een trein nu, en nu ben ik bezig aan van alles uitproberen in PHP en SQL.
Ik ben dus als testproject een adressenbestand aan het maken.
er zitten 4 delen in, 1 die de hele database laat zien, 1 die je laat zoeken in de database, 1 die je iets laat toevoegen, en 1 die je iets laat wijzigen.
Die laatste levert dus problemen op.
ik laat in een Form op een pagina 4 gegevens invullen.
naam, adres, postcode en plaats.
in de tabel zitten 5 velden per record: id, naam, straat (jah niet bij nagedacht tijdens het creeren van de tabel, zou adres moeten zijn), postcode en plaats.
het ID is de primaire sleutel en is ingesteld op auto-increment, zodat er altijd een nieuw nummer aangewezen wordt als ik een record erbij plaats.
Het wijzigen gaat zo: (zou zo moeten gaan)
Eerst krijg je een pagina met 1 invulveld en een knop "zoek"
je typt een nummer in van een record en drukt op de knop.
Je gaat door naar de volgende pagina en daar wordt aan de hand van het nummer dat je invulde het record weergegeven.
Er onder staat een nieuw Form. Het heeft 4 waardes (alles behalve ID).
Het ID laat ik via een hidden input verder mee sturen naar het volgende document.
Onder het Form staat een waarschuwing "weet je zeker dat je het record wil wijzigen?"en dan 2 knoppen, ja en nee.
als je op Ja klikt, ga je door naar de pagina die dus de eigenlijke bewerking uitvoert.
In dat document gaat het dus mis.
Eerst maakt PHP contact met de database en selecteert die de tabel. Dat gaat gewoon goed.
De variabelen van het Form van de pagina er voor worden in wat makkelijker herkenbare variabelen gestopt ($_POST['naam'] wordt in $var_naam gezet, enz enz)
Dan krijg je dit stukje code:
En daar krijg ik dus een error op terug.
Op school heb ik een beetje SQL gehad (in access) en ik kan er geen fout in ontdekken.
Zie ik nou iets over het hoofd? of kan dit gewoon niet in MySQL en moet ik een andere manier gebruiken?
greetz,
-FireWurX
edit: die error is dus wat ik in het stuk code heb staan.
Ik ben sinds kort op stage, en ik heb hier de opdracht om een CD-ROM database te maken, die vanalles over de CD omschrijft en de plaats in het gebouw aanwijst.
Dit komt in het Intranet te staan voor als mensen een bepaalde CD zoeken.
Maar voordat ik dat ga doen moet ik eerst mijn PHP en SQL skillz wat opvoeren, aangezien ik sinds midden vorige week nog geen letter PHP kon coden
Ondertussen heb ik me wat lopen verdiepen in PHP, en ik heb met mijn mede-stagair de complete PHP manual uitgeprint (bad move
Daarnaa hebben we een P3-1Ghz PC gepakt die vermeend was gestorven te zijn.
Die hebben we dus even weer leven in geblazen en we hebben er Win2Kpro, Apache 1.3.2, PHP 4.3.2, MySQL 3.23.57 en ActivePerl 5.8.0 op gezet.
dat loopt allemaal als een trein nu, en nu ben ik bezig aan van alles uitproberen in PHP en SQL.
Ik ben dus als testproject een adressenbestand aan het maken.
er zitten 4 delen in, 1 die de hele database laat zien, 1 die je laat zoeken in de database, 1 die je iets laat toevoegen, en 1 die je iets laat wijzigen.
Die laatste levert dus problemen op.
ik laat in een Form op een pagina 4 gegevens invullen.
naam, adres, postcode en plaats.
in de tabel zitten 5 velden per record: id, naam, straat (jah niet bij nagedacht tijdens het creeren van de tabel, zou adres moeten zijn), postcode en plaats.
het ID is de primaire sleutel en is ingesteld op auto-increment, zodat er altijd een nieuw nummer aangewezen wordt als ik een record erbij plaats.
Het wijzigen gaat zo: (zou zo moeten gaan)
Eerst krijg je een pagina met 1 invulveld en een knop "zoek"
je typt een nummer in van een record en drukt op de knop.
Je gaat door naar de volgende pagina en daar wordt aan de hand van het nummer dat je invulde het record weergegeven.
Er onder staat een nieuw Form. Het heeft 4 waardes (alles behalve ID).
Het ID laat ik via een hidden input verder mee sturen naar het volgende document.
Onder het Form staat een waarschuwing "weet je zeker dat je het record wil wijzigen?"en dan 2 knoppen, ja en nee.
als je op Ja klikt, ga je door naar de pagina die dus de eigenlijke bewerking uitvoert.
In dat document gaat het dus mis.
Eerst maakt PHP contact met de database en selecteert die de tabel. Dat gaat gewoon goed.
De variabelen van het Form van de pagina er voor worden in wat makkelijker herkenbare variabelen gestopt ($_POST['naam'] wordt in $var_naam gezet, enz enz)
Dan krijg je dit stukje code:
code:
1
2
3
4
| $query = "UPDATE adressen SET naam = '$var_naam', straat = '$var_adres', postcode = '$var_pc', plaats = '$var_plaats' WHERE id = '$var_id')"; $result = mysql_query($query) or die($querystatus = "Error while executing query"); } |
En daar krijg ik dus een error op terug.
Op school heb ik een beetje SQL gehad (in access) en ik kan er geen fout in ontdekken.
Zie ik nou iets over het hoofd? of kan dit gewoon niet in MySQL en moet ik een andere manier gebruiken?
greetz,
-FireWurX
edit: die error is dus wat ik in het stuk code heb staan.
[ Voor 4% gewijzigd door McKaamos op 28-08-2003 15:03 ]