Toon posts:

ODBC Access INSERT

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben hier op school bezig met aan access database en het lukt op de 1 of andere manier bij niemand om iets in te voeren. uitlezen lukt wel.

Ik heb al zeker 10 scripts van internet gehaald en 2 zelf geschreven en het lukt niet.


het script dat ik als laatste heb geprobeerd:
invoegen.php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$dbLocation = "C:\Inetpub\wwwroot\gastenboek\gastenboek.mdb";

$conn = new COM ("ADODB.Connection") 
or die( "Cannot start ADO" ); 
$conn->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$dbLocation ); 

$SQL = "INSERT INTO gastenboek ( id , naam , datum , bericht ) 
VALUES ('$_POST[id]','$_POST[naam]','$_POST[datum]','$_POST[bericht]')";

$conn->Execute( $sSQL ); //Execute SQL query 
$conn->Close(); //Close database connection 
$conn->Release(); //Release resources for this connection 

?>


test.php
code:
1
2
3
4
5
6
7
8
9
10
<html>
<body>
<form action="invoegen.php" method="post">
id: <input type="text" name="id" />
naam: <input type="text" name="naam" />
datum: <input type="text" name="datum" />
bericht: <input type="text" name="bericht" />
<input type="submit" />
</form></body>
</html>

[ Voor 4% gewijzigd door Verwijderd op 30-05-2007 11:18 ]


  • NetForce1
  • Registratie: November 2001
  • Laatst online: 17-07 06:47

NetForce1

(inspiratie == 0) -> true

Wat gaat er precies fout? Krijg je een melding oid? Of word het gewoon genegeerd? Is de db misschien beveiligd en heeft je user niet voldoende rechten?
edit: Heb je ook al eens gekeken hoe je gegenereerde query er uit ziet?

[ Voor 19% gewijzigd door NetForce1 op 30-05-2007 10:06 ]

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
NetForce1 schreef op woensdag 30 mei 2007 @ 10:05:
Wat gaat er precies fout? Krijg je een melding oid? Of word het gewoon genegeerd? Is de db misschien beveiligd en heeft je user niet voldoende rechten?
Rechten heb ik goedstaan, en ook niks beveiligd.
Ik krijg gewoon een wit scherm, ook als ik eigenlijk een bevestiging moet krijgen. en er wordt niks ingevoerd.

  • André
  • Registratie: Maart 2002
  • Laatst online: 16-07 14:42

André

Analytics dude


Verwijderd

Verwijderd schreef op woensdag 30 mei 2007 @ 10:00:
Ik ben hier op school bezig met aan access database en het lukt op de 1 of andere manier bij niemand om iets in te voeren. uitlezen lukt wel.

Ik heb al zeker 10 scripts van internet gehaald en 2 zelf geschreven en het lukt niet.
met de hier aangehaalde scripts zal uitlezen ook niet lukken, vermoed ik zo. het volgende zou wel moeten werken:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
$dbLocation = "C:\\Inetpub\\wwwroot\\gastenboek\\gastenboek.mdb";
$conn = new COM ("ADODB.Connection") or die( "Cannot start ADO" ); 
$conn->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$dbLocation ); 

$SQL = "INSERT INTO gastenboek ( id , naam , datum , bericht ) VALUES ('$_POST[id]','$_POST[naam]','$_POST[datum]','$_POST[bericht]');";

$conn->Execute( $SQL ); //Execute SQL query 
$conn->Close(); //Close database connection 
//$conn->Release(); //Release resources for this connection 
?>
bemerk de verdubbeling van de backslashes, de verbetering van de syntaxfout $sSSQ->$SQL en het afsluiten van de sql-opdracht met een puntkomma.
de release methode wordt blijkbaar automatisch afgehandeld na een close opdracht, tenminste in php 5.2.1.

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 30 mei 2007 @ 13:26:
[...]

met de hier aangehaalde scripts zal uitlezen ook niet lukken, vermoed ik zo. het volgende zou wel moeten werken:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
$dbLocation = "C:\\Inetpub\\wwwroot\\gastenboek\\gastenboek.mdb";
$conn = new COM ("ADODB.Connection") or die( "Cannot start ADO" ); 
$conn->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$dbLocation ); 

$SQL = "INSERT INTO gastenboek ( id , naam , datum , bericht ) VALUES ('$_POST[id]','$_POST[naam]','$_POST[datum]','$_POST[bericht]');";

$conn->Execute( $SQL ); //Execute SQL query 
$conn->Close(); //Close database connection 
//$conn->Release(); //Release resources for this connection 
?>
bemerk de verdubbeling van de backslashes, de verbetering van de syntaxfout $sSSQ->$SQL en het afsluiten van de sql-opdracht met een puntkomma.
de release methode wordt blijkbaar automatisch afgehandeld na een close opdracht, tenminste in php 5.2.1.
sommige foutjes had ik ook gezien ja,

morgen op school eens proberen, maar ik denk bij nader inzien dat het aan de image ligtr die we gebruiken voor Virtual PC want het lukt echt bij niemand. Zelfs de leraar niet.

[ Voor 8% gewijzigd door Verwijderd op 30-05-2007 19:23 ]

Pagina: 1