Toon posts:

[PHP] INSERT fout?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Ik ben momenteel bezig om een klanten bestand te maken in PHP.

Ik heb PHPdev op m'n Winxp systeem geinstalled en draait allemaal mooi.

Alleen zit ik nu al 2 uur te staren op een probleem wat ik maar niet kan oplossen (ja ik heb de search gebruikt)

ik heb dmv van "mysqladmin" een nieuwe database aangemaakt
code:
1
mysqladmin -u root create gegevens

En dan
code:
1
mysql -u root gegevens < mysql.dump

gedaan

in mysql.dump staat het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE klanten (
  id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT,
  bedrn varchar (255),
  addr varchar (255),
  plaats varchar (255),
  land varchar (255),
  tel varchar (255),
  fax varchar (255),
  email varchar (255),
  bank varchar (255),
  postcode varchar (255),
  postbus varchar (255),
  kvk varchar (255),
  PRIMARY KEY (id),  UNIQUE id (id));

Je zult nu denken van "jaja, fijn maar wat is je probleem?"
Nou het volgende
als ik de gegevens wil submitten krijg ik geen error te zien ofzo, wel de melding dat alles netjes in de database is gezet, maar als ik dan in de database kijk staat er nix in!

ik heb de volgende source:
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
38
39
40
41
42
43
<?
//Connect met database en selecteer de database "gegevens"
$db = mysql_connect("localhost", "root")
    or die("Kan geen verbinding maken met de database");
    echo "Verbinding gemaakt <br>\n";

mysql_select_db("gegevens")
    or die("Kan de database niet selecteren");
    echo "Database geselecteerd <br>\n";
      

$query = "SELECT * FROM klanten";
$result = mysql_query($query)
    or die("Kan geen gegevens opvragen <br>\n");
$i = mysql_numrows($result);

echo "Er staan momenteel $i klanten in de database. <br>\n";

if ($submit) { 
  $sql = "INSERT INTO gegevens (bedrn,addr,plaats,land,tel,fax,email,bank,postcode,postbus,kvk) VALUES ('$bedrn','$addr','$plaats','$land','$tel','$fax','$email','$bank','$postcode','$postbus','$kvk')";
  $result = mysql_query($sql);
  echo "Formulier is succesvol toegevoegt in de database. <br>\n";
}
?>

<form method="post" action="<?php echo $PHP_SELF?>">

<table border="0" cellpadding="0" cellspacing="0">
 <tr><td width="75">Bedrijfsnaam</td><td><input type="text" name="bedrn" size="50"></td></tr>
 <tr><td width="75">Adres       </td><td><input type="text" name="addr" size="50"></td></tr>
 <tr><td width="75">Plaats      </td><td><input type="text" name="plaats" size="50"></td></tr>
 <tr><td width="75">Land        </td><td><input type="text" name="land" size="50"></td></tr>
 <tr><td width="75">Telefoon    </td><td><input type="text" name="tel" size="50"></td></tr>
 <tr><td width="75">Fax         </td><td><input type="text" name="fax" size="50"></td></tr>
 <tr><td width="75">E-mail      </td><td><input type="text" name="email" size="50"></td></tr>
 <tr><td width="75">Bank no.    </td><td><input type="text" name="bank" size="50"></td></tr>
 <tr><td width="75">Postcode    </td><td><input type="text" name="postcode" size="50"></td></tr>
 <tr><td width="75">Postbus     </td><td><input type="text" name="postbus" size="50"></td></tr>
 <tr><td width="75">KvK         </td><td><input type="text" name="kvk" size="50"></td></tr>
 <tr><td width="75">            </td><td align="right"><input type="Submit" name="submit" value="Toevoegen">
</table>
</form>
?>

Ik snap niet wat er fout gaat en ik ben al 2 uur zitten zoeken mbh de search en google maar 'k vind geen oplossing.

Ik hoop dat jullie me kunnen helpen
bvd.

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
als je op slimme plekken dingen echo'd kun je erachter komen waar het precies fout gaat. kijk ook eens naar mysql_error.

btw,
mysql_numrows($result);
het is mysql_num_rows, vaag dat je geen foutmelding krijgt?

Verwijderd

Topicstarter
Bedankt voor je reply,

Ik heb geecho'd bij die vars van input boxen, maar werkte allemaal
dus zit fout in die Insert :(

en die mysql_num_row gaf geen error ... weird, shit,
ik ga eerst :Z
morgen lukt 't hopelijk wel :)

  • tomato
  • Registratie: November 1999
  • Niet online
marcusk: het is mysql_num_rows, vaag dat je geen foutmelding krijgt?
PHP Manual:
For downward compatibility mysql_numrows() can also be used. This is deprecated however.
Overigens wel interessant om te zien hoe die functie hier gebruikt wordt...

  • Roel
  • Registratie: Februari 2000
  • Laatst online: 14-09 16:10

Roel

screen -x addict

Ik mis je mysql wachtwoord, ik hoop dat je dat er normaal wel bij hebt staan :)

Ik dacht net eventjes dat het met die $submit te maken had, maar "Formulier is succesvol toegevoegt in de database. <br>\n" krijg je gewoon ?

Een nettere manier om 't aantal rijen te krijgen is select count(id) as aantal from klanten en die er met een mysql_query uit te halen..

(btw, echo $sql; en die rechtstreeks via de mysql prompt invoeren, werkt dat wel ? )

Resistance is futile (If < 1 Ohm)


  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
Op zondag 16 december 2001 02:51 schreef virtual het volgende:
PHP:
1
2
3
4
5
<?
  $result = mysql_query($sql);
  echo "Formulier is succesvol toegevoegt in de database. <br>\n";
}
?>
Maak daar eens van:
PHP:
1
2
3
4
5
6
<?
  $result = mysql_query($sql)
     or die (mysql_error());
     echo "Formulier is succesvol toegevoegt in de database. <br>\n";
}
?>

Dan zul je waarschijnlijk wel een foutmelding krijgen ofzoiets. ;)
Pagina: 1