DSN-less connection met een access database (in PHP)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Hoi kan iemand me misschien helpen met de volgende probleem 8)7

Ik wil de volgende doen:

Ik moet via een DSN-less connection met een access database in PHP kunnen updaten.
Ik kan al een connectie maken met de access database en ik kan er gegevens uitlezen.

Het scriptje om gegevens uit de database te lezen ziet er zo uit:


PHP:
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
<?php

$db = '_database/inschrijven.mdb';

$conn = new COM('ADODB.Connection');

// Two ways to connect. Choose one.
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

$sql = 'SELECT   Naam, Straat
        FROM     inschrijfgegevens';
$rs = $conn->Execute($sql);

?>

<table>
<tr>
        <th>Naam</th>
        <th>Straat</th>

</tr>
<?php while (!$rs->EOF): ?>
        <tr>
                 <td><?= $rs->Fields['Naam']->Value ?></td>
                 <td><?= $rs->Fields['Straat']->Value ?></td>
                
        </tr>
        <?php $rs->MoveNext() ?>
<?php endwhile ?>
</table>

<?php

$rs->Close();
$conn->Close();
?>

Maar weet iemand hoe je het kan updaten?!?!? Heb alles geprobeerd (zelfs PHP handboek, maar lukt niet).

Hoop dat iemand me kan helpen, alvast hardstikke bedankt voor jullie reacties ;)

[ Voor 14% gewijzigd door Glimi op 02-05-2003 21:52 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

SQL:
1
Update inschrijfgegevens Set naam='blaat'

:?

zie ook [rml]gorgi_19 in "[ ASP] een asp fout"[/rml]

Weliswaar voor ASP, maar geeft een richting aan waar je moet kijken.

[ Voor 57% gewijzigd door gorgi_19 op 02-05-2003 20:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Ik vind zelf PHP beter, wist dat het met ASP kon, maar ik heb dat al geprobeerd.

[ Voor 102% gewijzigd door coktatli op 02-05-2003 21:00 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 snapt er dus nu absoluut niets meer van..

Wat bedoel je nu? Welke foutmelding krijg je? Wat is de bedoeling? Waar gaat het fout?

Aangezien je nieuw bent: Welkom in Programming en Webscripting, ook wel PW genoemd. Ik zie ook dat dit een van je eerste vragen is.

Om het geheel een beetje te stroomlijnen, en er voor te zorgen dat de vragen voor iedereen duidelijk zijn en je een goed antwoord c.q. hint kan krijgen, hebben ze hier een stappenplan ontwikkeld hoe je een goede post kan maken. :)

Kan je misschien je post aanvullen met de info uit P&W Beleid - stappenplan ?
coktatli schreef op 02 May 2003 @ 20:58:
Ik vind zelf PHP beter, wist dat het met ASP kon, maar ik heb dat al geprobeerd.
Het is een gok, omdat ik niet weet waar het fout gaat. Het ging me voornamelijk om de rechten op de database c.q. folder instellen.

[ Voor 109% gewijzigd door gorgi_19 op 02-05-2003 21:03 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
Je hebt toch een databaseverbinding? Dan kan je dus queries uitvoeren, of het nou SELECT, UPDATE of whatever voor queries zijn.

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Ik probeer het volgende scriptje om te updaten (maar deze werkt dus niet)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$db = '_database/inschrijven.mdb';

$conn = new COM('ADODB.Connection');

// Two ways to connect. Choose one.
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");


$sql = "INSERT INTO inschrijfgegevens (Naam, Bedrijfsnaam, E-mail) VALUES('coktatli','cok','ct@cok.nl')";

if ($conn->Execute($sql) === false) {
    print 'error inserting: '.$conn->ErrorMsg().'<BR>';
}

$conn ->close();
?>


Ik krijg niks te zien 8)7

[ Voor 31% gewijzigd door Glimi op 02-05-2003 21:56 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
gorgi_19 schreef op 02 May 2003 @ 20:59:
* gorgi_19 snapt er dus nu absoluut niets meer van..

Wat bedoel je nu? Welke foutmelding krijg je? Wat is de bedoeling? Waar gaat het fout?

Aangezien je nieuw bent: Welkom in Programming en Webscripting, ook wel PW genoemd. Ik zie ook dat dit een van je eerste vragen is.

Om het geheel een beetje te stroomlijnen, en er voor te zorgen dat de vragen voor iedereen duidelijk zijn en je een goed antwoord c.q. hint kan krijgen, hebben ze hier een stappenplan ontwikkeld hoe je een goede post kan maken. :)

Kan je misschien je post aanvullen met de info uit P&W Beleid - stappenplan ?


[...]

Het is een gok, omdat ik niet weet waar het fout gaat. Het ging me voornamelijk om de rechten op de database c.q. folder instellen.
Hey welkom :)

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
Query op zich lijkt me goed, het is alleen geen update query..
if ($conn->Execute($sql) === false)
Drie "=" tekens? Ik heb al een tijdje geen php gedaan maar klopt dit wel?
edit:
Ok klopt dus blijkbaar

[ Voor 64% gewijzigd door sig69 op 02-05-2003 21:12 ]

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Jah idd is geen update query maar was ff een test om te kijken of ik er iets in kon toevoegen, maar helaas :?

[ Voor 3% gewijzigd door coktatli op 02-05-2003 21:07 ]


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
sig69 schreef op 02 May 2003 @ 21:05:Drie "=" tekens? Ik heb al een tijdje geen php gedaan maar klopt dit wel?
drie '=' tekens check of de twee waardes hetzelfde bevatten en of ze van hetzelfde type zijn (boolean dus etc)

[edit]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
error_reporting(E_ALL);

$db = '_database/inschrijven.mdb';
$conn = new COM('ADODB.Connection');

$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");

$sql = "INSERT INTO inschrijfgegevens (Naam, Bedrijfsnaam, E-mail) VALUES('coktatli','cok','ct@cok.nl')";

$iets = $conn->Execute($sql);

if($iets == FALSE) {
  echo "Er gaat iets fout<br>";
  echo "error inserting: ".$conn->ErrorMsg()."<BR>";
} elseif ($iets == TRUE) {
  echo "Duidelijk toch iets goed gegaan<br>";
} else {
  echo "Vreemde shit als dit komt, blijkbaar niet iets wat we verwachten.<br>Dit is wat extra info:<br><br>";
  var_dump($iets);
}

$conn ->close();
?>


Wat krijg je te zien als je dit zo uitvoerd?

[ Voor 58% gewijzigd door Glock op 02-05-2003 21:17 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Zonder drie '=' krijg ik error inserting (echt vaag waarom ie niet insert ziet er wel goed uit). Heeft iemand nog een ideetje :'(

[ Voor 69% gewijzigd door coktatli op 02-05-2003 21:17 ]


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
wat krijg je dan voor foutmelding bij error inserting, of was dat alles?

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
Dus
code:
1
if ($conn->Execute($sql) == false)

is waar, maar foutmelding geven ho maar?

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Warning: Invoke() failed: Exception occurred. Source: Microsoft JET Database Engine Description: Syntax error in INSERT INTO statement. in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 11
Er gaat iets fout

Warning: Invoke() failed: Exception occurred. Source: ADODB.Connection Description: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 15
error inserting:


Dit krijg ik te zien als ik op jouw manier doe :?

[ Voor 6% gewijzigd door coktatli op 02-05-2003 21:21 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Hoe zien je datatypes er uit in je database?

edit:

Glock is gewoon traag.. :P

[ Voor 35% gewijzigd door gorgi_19 op 02-05-2003 21:23 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
Misschien handig om je database model dus ook maar te posten.
Je voegt iets in van het verkeerde type of dubbele waarde voor een unique veld of dergelijke. Heb me glazen bol niet mee dus heb geen idee wel van deze :+
Dus als je je database model wil plaatsen. (eigenschappen van de tabel dus eigenlijk)
edit:
Gorgi_19 doe jij is ff rustig aan zeg :P

[ Voor 9% gewijzigd door Glock op 02-05-2003 21:24 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Glock schreef op 02 mei 2003 @ 21:22:
Misschien handig om je database model dus ook maar te posten.
Je voegt iets in van het verkeerde type of dubbele waarde voor een unique veld of dergelijke. Heb me glazen bol niet mee dus heb geen idee wel van deze :+
Dus als je je database model wil plaatsen. (eigenschappen van de tabel dus eigenlijk)
Ik heb, maar 1 tabel (inschrijfgegevens) met de volgende gegevens:

Naam
Bedrijfsnaam
E-mail (primaire sleutel)

En nog een paar andere

[ Voor 4% gewijzigd door coktatli op 02-05-2003 21:25 ]


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
we moeten dus ook weten wat voor typen velden het zijn (text, integer etc), wat voor indexes (uniques ed)

[ Voor 11% gewijzigd door Glock op 02-05-2003 21:25 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Glock schreef op 02 May 2003 @ 21:25:
we moeten dus ook weten wat voor typen velden het zijn (text, integer etc), wat voor indexes (uniques ed)
Ok sorry ik had alles gewoon als "text" (voor rest niks).

[ Voor 6% gewijzigd door coktatli op 02-05-2003 21:26 ]


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
edit:
veel te laat antuurlijk

[ Voor 87% gewijzigd door sig69 op 02-05-2003 21:26 ]

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Zal ik anders iemand mailen met mijn database en m'n php bestandje als attachment??

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
Dan val ik af, ik heb geen beschikking meer over een php server helaas...

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 mei 2003 @ 21:30:
Zal ik anders iemand mailen met mijn database en m'n php bestandje als attachment??
Het doel van een forum is juist dat iedereen met elkaar kennis deelt. :)
Als je hem online kan zetten (als in: dat mensen hem kunnen downloaden) , met een linkje, denk ik dat meer mensen je kunnen helpen en je meer mensen een plezier kan doen. :)

[ Voor 7% gewijzigd door gorgi_19 op 02-05-2003 21:32 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Zie pagina 2 voor linkje naar .zip bestand

[ Voor 88% gewijzigd door coktatli op 02-05-2003 21:45 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Link naar mijn bestandje is http://home.deds.nl/~yener/database.zip

Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
heb je de gegevens aangepast bij de download of is dit echt zoals jij hem ook gebruik om te testen (dus je heb geen emailadressen verwijderd ofzo bij downloadbare versie?)

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 May 2003 @ 21:36:
Zie pagina 2 voor linkje naar .zip bestand
offtopic:
Ik zie dat je de edit-knop al hebt gevonden. :) Je hoeft mensen niet te wijzen dat iets op een volgende pagina staat; dat zien ze zelf wel. :) Sommigen hebben namelijk andere pagina instellingen.

Mocht je nog nieuwe dingen proberen en verder komen, of dingen vinden via bijvoorbeeld google, dan kan je je laatste post nog aanpassen en aanvullen. :)

[ Voor 6% gewijzigd door gorgi_19 op 02-05-2003 21:50 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Dit is alles wat ik gebruik. Ik heb natuurlijk wel echte namen en zo veranderd.

De downloadbare versie gebruik ik ook gewoon. Kijk maar ff naar bestandje dan begrijp je wat ik bedoel te zeggen :) (moeilijk uit te leggen)

[ Voor 49% gewijzigd door coktatli op 02-05-2003 21:51 ]


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 17:50
Maar je weet dus wel zeker dat het emailadres 'ct@cok.nl' niet al in de database stond?

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
coktatli schreef op 02 May 2003 @ 21:50:
Dit is alles wat ik gebruik. Ik heb natuurlijk wel echte namen en zo veranderd.
kijk dan is heel goed of je ct@cok.nl niet ergens anders nog heb staan (wil toch echt ff zeker weten dat het niet om uniques gaat :))

edit:
koninginne dag zeker nog een beetje in me bolletje 8)7, ben beetje traag vandaag

[ Voor 14% gewijzigd door Glock op 02-05-2003 21:52 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
sig69 schreef op 02 May 2003 @ 21:51:
Maar je weet dus wel zeker dat het emailadres 'ct@cok.nl' niet al in de database stond?
Jah het stond er zeker niet in. Had het ff aangepast.

Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Glock schreef op 02 mei 2003 @ 21:51:
[...]

kijk dan is heel goed of je ct@cok.nl niet ergens anders nog heb staan (wil toch echt ff zeker weten dat het niet om uniques gaat :))

edit:
koninginne dag zeker nog een beetje in me bolletje 8)7, ben beetje traag vandaag
Heel zeker ;)

Acties:
  • 0 Henk 'm!

  • Hermanvh
  • Registratie: Januari 2001
  • Laatst online: 08:27

Hermanvh

webOS fan, hacker, developer

Weet je zeker dat je wel schrijfrechten hebt in die dir op je server en voor dat bestand? Heb je de DB niet toevallig met username + pass beveiligd ofzo?

webOS all the way!


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Hermanvh schreef op 02 May 2003 @ 22:01:
Weet je zeker dat je wel schrijfrechten hebt in die dir op je server en voor dat bestand? Heb je de DB niet toevallig met username + pass beveiligd ofzo?
Er zit geen wachtwoord of username op en ik mag alles op de server doen (schrijfrechten dan).

[ Voor 9% gewijzigd door coktatli op 02-05-2003 22:02 ]


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
Hermanvh schreef op 02 mei 2003 @ 22:01:
Weet je zeker dat je wel schrijfrechten hebt in die dir op je server en voor dat bestand? Heb je de DB niet toevallig met username + pass beveiligd ofzo?
code:
1
2
3
4
5
6
7
Warning:
Invoke() failed:
Exception occurred.
Source: ADODB.Connection Description:
Arguments are of the wrong type, are out of acceptable range,
or are in conflict with one another.
in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 15


edit:
Layout verneuking

[ Voor 7% gewijzigd door Glock op 02-05-2003 22:03 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Glock schreef op 02 May 2003 @ 22:02:
[...]

code:
1
2
Warning: Invoke() failed: Exception occurred. Source: ADODB.Connection Description: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 15
error inserting:
ik heb jullie alleen een link gegeven naar die bestandjes. Dus als jullie willen testen moet dat wel via je eigen server of zo (doe ik zelf thuis ook)

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 heeft volgens mij de fout gevonden.. :P Sneaky / gemeen foutje hoor.. :)

Je pure SQL syntax is
SQL:
1
INSERT INTO inschrijfgegevens (Naam, Bedrijfsnaam, E-mail) VALUES('coktatli','cok','ct@cok.nl') 


Open eens Access en voer deze query uit.. Wat krijg je dan als fout?

Glock: Rechten op de database hebben in dit geval er niet mee te maken. :)

[ Voor 32% gewijzigd door gorgi_19 op 02-05-2003 22:08 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
coktatli schreef op 02 May 2003 @ 22:04:
[...]
ik heb jullie alleen een link gegeven naar die bestandjes. Dus als jullie willen testen moet dat wel via je eigen server of zo (doe ik zelf thuis ook)
Dat was niet tegen jou, maar voor verduidelijking tegen Hermanvh

ok, back ontopic

ffies heel simpel gaan doen nu, als je de volgende regel eens vervang
PHP:
1
$sql = "INSERT INTO inschrijfgegevens (Naam, Bedrijfsnaam, E-mail) VALUES('coktatli','cok','ct@cok.nl')";

door het volgende:
PHP:
1
$sql = "INSERT INTO inschrijfgegevens (`Naam`) VALUES (\"blaat\")";


edit:
gorgi, ik wist ook wel dat het aan de query lag, maar kon nergens in access de optie vinden om query's uit te voeren :+ dan schiet het ook niet op met die ideeën hier :)

[ Voor 18% gewijzigd door Glock op 02-05-2003 22:09 ]


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
ok :D

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Glock: Hint: kijk eens goed naar de kolomnamen en verboden tekens in de kolomnamen.. :P

Kees-Jan mag niet als kolomnaam; althans, niet zonder deze tussen blokhaken te zetten.

offtopic:
Als dit de fout is, dan denk ik dat de topicstarter deze fout nooit meer zal maken.. :P

[ Voor 27% gewijzigd door gorgi_19 op 02-05-2003 22:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
gorgi_19 schreef op 02 May 2003 @ 22:11:
Glock: Hint: kijk eens goed naar de kolomnamen en verboden tekens in de kolomnamen.. :P

Kees-Jan mag niet als kolomnaam; althans, niet zonder deze tussen blokhaken te zetten.

offtopic:
Als dit de fout is, dan denk ik dat de topicstarter deze fout nooit meer zal maken.. :P
offtopic:
|:( En dan te bedenken dat dat het eerste was wat in me opkwam bij dit topic maar dat dat me te simpel leek |:(
ik d8, mysql slikt dit niet maar dit is access dus weet ik veel :P


[edit]
Maar wat voor prutmeldingen geeft access dan???

[ Voor 6% gewijzigd door Glock op 02-05-2003 22:16 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 fluit onschuldig... O-)

coktatli: Ben je er al uit?

[ Voor 12% gewijzigd door gorgi_19 op 02-05-2003 22:16 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
nee :( jullie wel??

[ Voor 52% gewijzigd door coktatli op 02-05-2003 22:16 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Heb je de query al uitgevoerd in Access, zonder PHP te gebruiken?

Of we er uit zijn? Ja, en jij binnen nu en 2 posts ook.. :)

[ Voor 19% gewijzigd door gorgi_19 op 02-05-2003 22:17 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
ik ben slecht in access snik...snik....

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 mei 2003 @ 22:17:
ik ben slecht in access snik...snik....
Mooi. Dan krijg je gelijk een cursus debuggen er bij. :)

Open het bestand in Microsoft Access.

Ga vervolgens naar Queries, Create query in Design View.
Bij de optie "Show Table" (is een popupwindow) kies je "Close"

Links bovenaan zie je een knopje "SQL" staan. Klik hier op.

Voer vervolgens het SQL statement (zie hier) in en druk op het rode uitroepteken.
Je krijgt dan een foutmelding. :)
Maar wat voor prutmeldingen geeft access dan???
Access geeft aan dat het SQL niet klopt.. En hij geeft ook aan WAAR het niet klopt. Dat is het handige van de SQL statements debuggen mbv Access.. Er zit een vrij intelligente 'debugger' bij. Vandaar dat het me ook goed lijkt dat de Topicstarter dit leert. :)

[ Voor 41% gewijzigd door gorgi_19 op 02-05-2003 22:23 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
De instructie insert bevat een syntaxisfout.
Wat betekent dat?

Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
kijk eens waar je cursor gaat staan zodra je die error wegklikt

offtopic:
Gorgi: Toch vind ik dat dat script een vage foutmelding geeft. Die foutmelding klopt voor geen ruk


[edit]
In access is de debugger wel aardig ja, maar de foutmelding die bij het php script tevoorschijn kwam klopte voor geen moer. Die suggereerde een foute invoegwaarde, geen kolom.

[ Voor 84% gewijzigd door Glock op 02-05-2003 22:29 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 mei 2003 @ 22:22:
De instructie insert bevat een syntaxisfout.
Wat betekent dat?
Dat er iets fout zit. :) En zie de opmerking van Glock (ja, je bent er bijna) :)
Kan je aangeven in welke stukje hij fout gaat, welk woord?

[ Voor 11% gewijzigd door gorgi_19 op 02-05-2003 22:24 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
HAHAHAHHA E-mail daar naar toe dus het is die streepje -

Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Wat naaierig is dat de fout???

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 May 2003 @ 22:25:
Wat naaierig is dat de fout???
Ja. En nu de reden:

Hij snapt e-mail niet; dat dit een kolomnaam is. Evenals dat je password en day niet als kolomnamen mag gebruiken. Hij beschouwt het namelijk als een formule (het - teken) of als functie (ook bekend als reserved words)

Oplossing: Zet er blokhaken om heen, dus [e-mail]
En vermijdt voortaan de gekke tekens. :)
offtopic:
Gorgi: Toch vind ik dat dat script een vage foutmelding geeft. Die foutmelding klopt voor geen ruk
Integendeel, hij klopt wel. Je wilt twee kolomwaarden van elkaar aftrekken; althans, zo komt het over. Kolom e - kolom mail.
En zo kom je idd waarden te kort. :)

[ Voor 25% gewijzigd door gorgi_19 op 02-05-2003 22:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
HARDSTIKKE BEDANKTTTTTTTTTTTTTT!!!!!!!!

Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Ik heb nog steeds een vage probleem.
Heb mijn database aangepast dus E-mail is Email geworden.
En ik heb dataintest.php op de volgende manier:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<? 
error_reporting(E_ALL); 

$db = '_database/inschrijfformulier.mdb'; 
$conn = new COM('ADODB.Connection'); 

$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db"); 

$sql = "INSERT INTO inschrijfgegevens (Naam, Bedrijfsnaam, Email) VALUES('coktatli','cokdeli','ct@cok.nl')"; 

$iets = $conn->Execute($sql); 

if($iets == FALSE) { 
  echo "Er gaat iets fout<br>"; 
  echo "error inserting: ".$conn->ErrorMsg()."<BR>"; 
} elseif ($iets == TRUE) { 
  echo "Duidelijk toch iets goed gegaan<br>"; 
} else { 
  echo "Vreemde shit als dit komt, blijkbaar niet iets wat we verwachten.<br>Dit is wat extra info:<br><br>"; 
  var_dump($iets); 
} 

$conn ->close(); 
?>


De volgende error krijg ik:
Warning: Invoke() failed: Exception occurred. Source: Microsoft JET Database Engine Description: Operation must use an updateable query. in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 11
Er gaat iets fout

Warning: Invoke() failed: Exception occurred. Source: ADODB.Connection Description: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. in D:\USERS\mijndomein.nl\WWW\dataintest.php on line 15
error inserting:

[ Voor 30% gewijzigd door coktatli op 03-05-2003 10:03 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Voor ASP geldt:
5.8 [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

NTFS-rechten goed zetten. Dat wil zeggen: IUSR_computernaam account iig schrijfrechten geven op de folder waar de database in staat. Ook moet gecontroleerd worden of de database niet readonly is. Dit kan gebeuren als een database bijvoorbeeld van een cd-rom gekopieerd is.

Een KB artikel, waarin alles goed uitgelegd staat http://support.microsoft....spx?scid=KB;en-us;q175168

Zie verder ook:

http://www.webwizguide.info/asp/faq/ODBC_drivers.asp
http://www.webwizguide.info/asp/faq/server_permissions.asp
In ieder geval duidt dit redelijk op een rechtenprobleem. Ik weet niet welk account PHP gebruikt; het zou het IUSR_computernaam account kunnen zijn, maar deze heeft iig dus niet de juiste rechten.

En zou je [code=php][/code] rondom je PHP code kunnen zetten? Dat verduidelijkt de boel enorm. :)

[ Voor 100% gewijzigd door gorgi_19 op 03-05-2003 00:04 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Ik heb een account bij www.pins.nl dus ik kan niks doen met de NTFS - rechten :(
Database is niet read only.

Pfffff dit is niet leuk meer kan wel janken :'(

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

coktatli schreef op 02 May 2003 @ 23:34:
Ik heb een account bij www.pins.nl dus ik kan niks doen met de NTFS - rechten :(
Database is niet read only.

Pfffff dit is niet leuk meer kan wel janken :'(
Of je hebt 1 folder met schrijfrechten, waar je de database in moet zetten, of je moet een mailtje naar de provider sturen. :)

[offtopic]
Hmmm.. die php-tags doen raar.. :?
PHP:
1
blaat


Ow nee, mijn fout.. |:(
't is [code=php][/code] en niet
PHP:
1

[ Voor 20% gewijzigd door gorgi_19 op 03-05-2003 00:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Het bleek dat ik geen rechten had :| maar nu doet ie het verder wel ;)

Acties:
  • 0 Henk 'm!

  • coktatli
  • Registratie: Maart 2003
  • Laatst online: 25-08 16:45
Ik heb geprobeerd om het inserten te koppelen aan een formuliertje, maar dat gaat waarschijnlijk bij een dsn-less connection ook op een andere manier.
Ik heb het volgende gedaan:

Formulier (aanmelding.html)
HTML:
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
<html>
<head>
<title>aanmelden</title>


<table width="408" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="159"> <h6><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Voornaam:</font></strong></font></h6></td>
    <td width="174"> <form name="form1" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Naam" type="text" id="Naam">
        </font> </form></td>
    <td width="10">&nbsp;</td>
    <td width="65">&nbsp;</td>
  </tr>
  <tr> 
    <td width="159"> <h1><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b>Achternaam:</b></font></h1></td>
    <td width="174"> <form name="form12" method="get" action="verwerk.php">
        <font color="#000000"> 
        <input name="Achternaam" type="text" id="Achternaam">
        </font></form></td>
    <td width="10">&nbsp;</td>
    <td width="65">&nbsp;</td>
  </tr>
  <tr> 
    <td width="159"> <h1><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Postadres:</font></strong></font></h1></td>
    <td width="174"> <form name="form4" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Postadres" type="text" id="Postadres">
        </font> </form></td>
    <td width="10"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
    <td width="65"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>
  <tr> 
    <td width="159"> <h1><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Postcode:</font></strong></font></h1></td>
    <td width="174"> <form name="form5" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Postcode" type="text" id="Postcode">
        </font> </form></td>
    <td width="10"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
    <td width="65"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>
  <tr> 
    <td width="159"> <h1><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Plaats:</font></strong></font></h1></td>
    <td width="174"> <form name="form6" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Plaats" type="text" id="Plaats">
        </font> </form></td>
    <td width="10"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
    <td width="65"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>
  <tr> 
    <td width="159"> <h1><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Telefoon 
        / Mobiel:</font></strong></font></h1></td>
    <td width="174"> <form name="form7" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Telefoonenofmobiel" type="text" id="Telefoonenofmobiel">
        </font> </form></td>
    <td width="10"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
    <td width="65"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>
  <tr> 
    <td width="159"> <h1><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">E-mail:</font></strong></font></h1></td>
    <td width="174"> <form name="form8" method="get" action="verwerk.php">
        <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input name="Email" type="text" id="Email">
        </font> </form></td>
    <td width="10">&nbsp;</td>
    <td width="65"> <form name="form11" method="post" action="">
        <font color="#000000"> 
        <input type="submit" name="Submit" value="Verstuur">
        </font></form></td>
  </tr>
</table>
<p align="center">&nbsp;</p>
</body>
</html>


En de PHP bestandje (verwerk.php)
PHP:
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
<HTML>
<HEAD>
<TITLE>verwerk.php</TITLE>
<BODY>
<?php 
error_reporting(E_ALL); 

$db = '_database/inschrijfformulier.mdb'; 
$conn = new COM('ADODB.Connection'); 

$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db"); 

$sql = "INSERT INTO inschrijfgegevens (Naam, Achternaam, Functie, Postadres, Postcode, Plaats, Telefoonenofmobiel, Email) VALUES ('$Naam', '$Achternaam', '$Functie', '$Postadres', '$Postcode', '$Plaats', '$Telefoonenofmobiel', '$Email')";

$iets = $conn->Execute($sql); 

if($iets == FALSE) { 
  echo "Er gaat iets fout<br>"; 
  echo "error inserting: ".$conn->ErrorMsg()."<BR>"; 
} elseif ($iets == TRUE) { 
  echo "Duidelijk toch iets goed gegaan<br>"; 
} else { 
  echo "Vreemd als dit gebeurt, blijkbaar niet iets wat we verwachten.<br>Dit is wat extra info:<br><br>"; 
  var_dump($iets); 
} 

$conn ->close(); 
?> 
</BODY>
</HEAD>
</HTML>


Ziet iemand de foutje dat ik heb gemaakt :| alvast een diepe _/-\o_

[ Voor 32% gewijzigd door coktatli op 09-05-2003 09:06 ]


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
edit:
was al opgelost

[ Voor 88% gewijzigd door bigtree op 09-05-2003 10:56 ]

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

PHP:
1
$db = '_database/inschrijfformulier.mdb';


Vind ik op zich een vreemde DSN. Heb je iets meer debuginformatie?

"Iets werkt er niet" is nogal vaag.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Vaudtje
  • Registratie: April 2002
  • Niet online
coktatli schreef op 09 May 2003 @ 09:05:
Ik heb geprobeerd om het inserten te koppelen aan een formuliertje, maar dat gaat waarschijnlijk bij een dsn-less connection ook op een andere manier.
Ik heb het volgende gedaan:

Formulier (aanmelding.html)

Ziet iemand de foutje dat ik heb gemaakt :| alvast een diepe _/-\o_
HTML:
1
<font color="#000000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font>


OMG wat een ranzige HTML, alles staat er 50000 keer overbodig in. Gebruik je Word om HTML te maken oid? :o Je raakt het overzicht in zo'n bende ook snel kwijt....

Het is niet zo handig om elke <input> in zijn eigen form te zetten.
Als je in jouw 'HTML' ;) op de submit knop ramt, wordt alleen form11 gesubmit en worden alle andere forms kwijtgemaakt (Heb je bewust gekozen voor 'post' ipv een 'get' bij al die andere forms?)

HTML:
1
2
3
4
5
6
7
8
9
<html>
  <body>
    <form name="Alles_In_Een_Form">
      <table>
           <!-- ...hier alle velden en je submit knop-->
      </table>
    </form>
  </body>
</html>


Volgens mij heeft het dus niets met je database connectie te maken.
Dat kan je sowieso controleren door je variabelen in het PHP bestand een keertje dummy waarden te geven (ipv ze uit te lezen uit de request). Als je dummy waarden wel worden opgeslagen doe je iets anders fout :)

P.S.: Je huidige manier van de database updaten is nogal gevoelig voor code insertion. Het lijkt me verstandiger parameterized queries te gebruiken (Als je niet weet wat dat zijn is dat je huiswerk nu >:) ) Het belanrijkste voorbeeld is altijd weer die persoon die ";drop database;" heet O-)

[ Voor 26% gewijzigd door Vaudtje op 09-05-2003 16:24 . Reden: typvaudtjes + drop database ]

In deeze zin staan drie fauten

Pagina: 1