[PHP] schrijven naar een interbase tabel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een formulier gemaakt in html om gegevens in mijn interbase database te zetten hieronder even het gedeelte van die code :

code:
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
<FORM ACTION="ibsend.php" METHOD="POST">
<font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
Voornaam:<BR>
<INPUT STYLE="border-color: black" NAME="WN_VOORNAAM" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Achternaam:<BR>
<INPUT STYLE="border-color: black" NAME="WN_ACHTERNAAM" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Adres:<BR>
<INPUT STYLE="border-color: black" NAME="WN_ADRES" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Postcode:<BR>
<INPUT STYLE="border-color: black" NAME="WN_POSTCODE" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Woonplaats:<BR>
<INPUT STYLE="border-color: black" NAME="WN_WOONPLAATS" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Geboortedatum:<BR>
<INPUT STYLE="border-color: black" NAME="WN_GEBOORTEDATUM" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Telefoon nummer::<BR>
<INPUT STYLE="border-color: black" NAME="WN_TELNR" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Mobiel nummer:<BR>
<INPUT STYLE="border-color: black" NAME="WN_MOBNR" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
E-mail:<BR>
<INPUT STYLE="border-color: black" NAME="WN_EMAIL" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Werknemer nummer:<BR>
<INPUT STYLE="border-color: black" NAME="WN_NR" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Gebruikersnaam:<BR>
<INPUT STYLE="border-color: black" NAME="WN_GEBRUIKERSNAAM" TYPE=text SIZE=50 MAXSIZE=80 VALUE="">
Wachtwoord:<BR>
<INPUT STYLE="border-color: black" NAME="WN_WACHTWOORD" TYPE=text SIZE=20 MAXSIZE=80 VALUE="">
</font> 
<P> 
<INPUT style="background-color: #9FC1E8; border-color: black; color:black; font-size:8pt" TYPE=submit VALUE="versturen">
<INPUT style="background-color: #9FC1E8; border-color: black; color:black; font-size:8pt" VALUE="reset" TYPE=reset>
</font></FORM>


als het formulier ingevuld is gaat deze naar de pagina ibsend.php
hieronder de php code hiervan :

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
<?

$back="<br><br><a href='javascript:window.history.back()'><b>Vorige</b></a>"; 
if (empty($_POST['WN_GEBRUIKERSNAAM'])) {
echo "Gebruikersnaam is leeg! $back"; 
exit; 
}
$conn=ibase_connect("localhost:c:\phpdev\www\public\db\knowledgebase.gdb", "dbuser", "dbpassword"); 
if (!$conn) { 
echo "Accesso Denied! $back";
exit; 
} 
$result=ibase_query($conn,"select WN_GEBRUIKERSNAAM from WERKNEMERS where WN_GEBRUIKERSNAAM= '".$_POST['WN_GEBRUIKERSNAAM']."'"); 
$num_rows=ibase_fetch_row($result);
if (!empty($num_rows[0])) {
echo "Deze gebruikersnaam is al in gebruik: $num_rows[0] $back";
exit;
} 
$query="insert into WERKNEMERS values ('".$_POST['WN_VOORNAAM']."','".$_POST['WN_ACHTERNAAM']."','".$_POST['WN_ADRES']."','".$_POST['WN_POSTCODE']."','".$_POST['WN_WOONPLAATS']."','".$_POST['WN_GEBOORTEDATUM']."','".$_POST['WN_TELNR']."','".$_POST['WN_MOBNR']."','".$_POST['WN_EMAIL']."','".$_POST['WN_NR']."','".$_POST['WN_GEBRUIKERSNAAM']."','".$_POST['WN_WACHTWOORD']."',0)"; 
$result=ibase_query($conn,$query);
if (!$result) {
echo "Error. Can't insert the record with the query: $query! $back"; 
exit; 
}
echo "Record saved: '".$_POST['WN_GEBRUIKERSNAAM']."' $back";
ibase_close($conn)
; ?>


maar op deze pagina gaat het dus fout... ik krijg dan volgende foutmelding :

Warning: InterBase: conversion error from string "jan" in c:\phpdev\www\public\ibsend.php on line 49
Error. Can't insert the record with the query: insert into WERKNEMERS values ('jan','blaat','test 6','1234 OK','woonplaats','11-11-1981','111-2115544','geen','test@test.nl','4','username','password',0)!

kan iemand zien wat hier verkeerd is.. want heb na lang prutsen niets kunnen ontdekken...

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Warning: InterBase: conversion error from string "jan" in c:\phpdev\www\public\ibsend.php on line 49


Wat voor een veld is het 1e veld in de tabel werknemers?

[ot]
Het is niet nodig om form mee te geven... Maakt het een beetje onleesbaar.... ( soms is teveel info net zo fout als de te weinig )

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Afbeeldingslocatie: http://members.lycos.nl/sunburn/stage/tabel_werknemers.gif
zo ziet mijn tabel eruit

Acties:
  • 0 Henk 'm!

Verwijderd

Mja, en een string 'jan' in een integer-veld plakken, dat gaat natuurlijk niet :)

Misschien een idee om een andere syntax te gebruiken:
code:
1
INSERT INTO tabel (veld1, veld2, veld3) VALUES (waarde1, waarde2, waarde3)


Succes ermee

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 10 februari 2004 @ 10:38:
Mja, en een string 'jan' in een integer-veld plakken, dat gaat natuurlijk niet :)

Misschien een idee om een andere syntax te gebruiken:
code:
1
INSERT INTO tabel (veld1, veld2, veld3) VALUES (waarde1, waarde2, waarde3)


Succes ermee
Over je verplaats de 0 naar voren toe...

PHP:
19
20
21
//$query="insert into WERKNEMERS values ('".$_POST['WN_VOORNAAM']."','".$_POST['WN_ACHTERNAAM']."','".$_POST['WN_ADRES']."','".$_POST['WN_POSTCODE']."','".$_POST['WN_WOONPLAATS']."','".$_POST['WN_GEBOORTEDATUM']."','".$_POST['WN_TELNR']."','".$_POST['WN_MOBNR']."','".$_POST['WN_EMAIL']."','".$_POST['WN_NR']."','".$_POST['WN_GEBRUIKERSNAAM']."','".$_POST['WN_WACHTWOORD']."',0)"; 

$query="insert into WERKNEMERS values (0,'".$_POST['WN_VOORNAAM']."','".$_POST['WN_ACHTERNAAM']."','".$_POST['WN_ADRES']."','".$_POST['WN_POSTCODE']."','".$_POST['WN_WOONPLAATS']."','".$_POST['WN_GEBOORTEDATUM']."','".$_POST['WN_TELNR']."','".$_POST['WN_MOBNR']."','".$_POST['WN_EMAIL']."','".$_POST['WN_NR']."','".$_POST['WN_GEBRUIKERSNAAM']."','".$_POST['WN_WACHTWOORD']."')";

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Dennahz
  • Registratie: November 2001
  • Laatst online: 17-09 21:50

Dennahz

Life feels like hell should.

LuCarD schreef op 10 februari 2004 @ 10:52:
[...]


Over je verplaats de 0 naar voren toe...

PHP:
19
20
21
//$query="insert into WERKNEMERS values ('".$_POST['WN_VOORNAAM']."','".$_POST['WN_ACHTERNAAM']."','".$_POST['WN_ADRES']."','".$_POST['WN_POSTCODE']."','".$_POST['WN_WOONPLAATS']."','".$_POST['WN_GEBOORTEDATUM']."','".$_POST['WN_TELNR']."','".$_POST['WN_MOBNR']."','".$_POST['WN_EMAIL']."','".$_POST['WN_NR']."','".$_POST['WN_GEBRUIKERSNAAM']."','".$_POST['WN_WACHTWOORD']."',0)"; 

$query="insert into WERKNEMERS values (0,'".$_POST['WN_VOORNAAM']."','".$_POST['WN_ACHTERNAAM']."','".$_POST['WN_ADRES']."','".$_POST['WN_POSTCODE']."','".$_POST['WN_WOONPLAATS']."','".$_POST['WN_GEBOORTEDATUM']."','".$_POST['WN_TELNR']."','".$_POST['WN_MOBNR']."','".$_POST['WN_EMAIL']."','".$_POST['WN_NR']."','".$_POST['WN_GEBRUIKERSNAAM']."','".$_POST['WN_WACHTWOORD']."')";
Lijkt mij geen oplossing, het eerste veld is auto_increment (tenminste, dat zei hij via MSN) en een id moet uniek zijn.

Twitter


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
null dan in het eerste veld pompen, dat werkt bij MySQL heel erg goed bij auto_increment velden.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Netter is om even de veldnamen mee te geven zoals Denial al zei. Anders mag je al je queries aanpassen als je eens een veld toevoegt...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bedankt het is gelukt :)
Pagina: 1