login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Foutmelding 'Row 1'

Offline Drieske - 04/05/2006 19:43
Avatar van DrieskeLid Hey,

Dit is mijn code

  1. <DIV style="background-color:white;border: 1px solid #CCCCCC; width: 700px;margin:10px;font-family:verdana;font-size:10px;padding:5px;">
  2. <?
  3. function check_email($adres) {
  4. list($local, $host) = explode("@", $adres);
  5. $pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
  6. $pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
  7. $match_local = eregi($pattern_local, $local);
  8. $match_host = eregi($pattern_host, $host);
  9.  
  10. if($match_local && $match_host) {
  11. return 1;
  12. } else {
  13. return 0;
  14. }
  15. }?>
  16. <?
  17. include('config.php');
  18.  
  19. if(isset($_POST['verzenden']))
  20. {
  21.  
  22. if (!trim($_POST['naam'])) {
  23. $error="Je moet je naam invullen";
  24. }
  25. elseif (!trim($_POST['naam1'])) {
  26. $error="Je moet je Familienaam invullen";
  27. }
  28. elseif(!check_email($_POST['email'])) {
  29. $error="Je moet een geldig e-mailadres invullen";
  30. }
  31.  
  32. if ($error != "") {
  33. ?>
  34. <center>
  35. <table width="100%" border="1" cellspacing="0" cellpadding="2">
  36. <tr>
  37. <td>
  38. <center>
  39. <b><?=$error?></b><br>
  40. <form method="post" action="javascript:history.go(-1)">
  41. <input type="submit" name="Terug" value="Terug" />
  42. </form>
  43. </center>
  44. </td>
  45. </tr>
  46. </table>
  47. </center>
  48. <?php
  49. } else {
  50. //Als alles correct is ingevuld gaan we over naar het posten van de gegevens naar de database
  51. mysql_query ("INSERT INTO petitie (aam, naam1, email) VALUES ('".$_POST['naam']."', '".$_POST['naam1']."', '".$_POST['email']."', NOW())") or die (mysql_error());
  52.  
  53.  
  54.  
  55. print "Je hebt de petitie succesvol ondertekent, klik <a href='http://www.gamefactor.be'>hier</a> om terug te gaan...";
  56. }
  57. }
  58. else
  59. {
  60. ?>
  61. <center>
  62. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  63. Naam: <br><input type="text" name="naam"><br />
  64. Familienaam: <br><input type="text" name="naam1"><br />
  65. E-mail: <br><input type="text" name="email"><br />
  66. <input type="submit" name="verzenden" value="verzenden">
  67. </form> </center>
  68. <?
  69. }
  70. ?>
  71. </div>


en mijn Mysql ziet er als volgt uit:

  1. CREATE TABLE `petitie` (
  2. `id` smallint(6) NOT NULL auto_increment,
  3. `naam` varchar(60) NOT NULL default '',
  4. `naam1` varchar(100) NOT NULL default '',
  5. `email` varchar(60) NOT NULL default '',
  6. PRIMARY KEY (`id`)
  7. ) TYPE=MyISAM AUTO_INCREMENT=3 ;


Nu wanneer ik een naam, familienaam en emailadres invul krijg ik steets deze foutmelding:

Citaat:
Column count doesn't match value count at row 1


Wat is hier het probleem?

4 antwoorden

Gesponsorde links
Offline lasdesigner - 04/05/2006 19:46
Avatar van lasdesigner PHP beginner zie je hier zelf geen fout?
  1. <?php
  2. mysql_query ("INSERT INTO petitie (aam, naam1, email) VALUES ('".$_POST['naam']."', '".$_POST['naam1']."', '".$_POST['email']."', NOW())") or die (mysql_error());
  3. ?>


Kijk eens hier:
petitie (aam, naam1, email)

die aam, zie jij die ook in je database?

Groet,
Offline Ultimatum - 04/05/2006 19:47 (laatste wijziging 04/05/2006 19:50)
Avatar van Ultimatum PHP expert je geeft meer values aan dan dat je velden aangeeft, want je geeft met NOW() aan dat hij de seconden in de database moet zetten maar je defineerd geen veld, het veld is ook niet in je tabel trug te vinden, dus je moet het als volgt doen, zet dit in je tabel

  1. `tijd` INT( 10 ) NOT NULL,

(zet je onder email)

en dan vervang je deze regel
  1. mysql_query ("INSERT INTO petitie (aam, naam1, email) VALUES ('".$_POST['naam']."', '".$_POST['naam1']."', '".$_POST['email']."', NOW())") or die (mysql_error());


door
  1. mysql_query ("INSERT INTO petitie (naam, naam1, email, tijd) VALUES ('".$_POST['naam']."', '".$_POST['naam1']."', '".$_POST['email']."', NOW())") or die (mysql_error());


edit: lasdesigner zag een fout die ik niet zag , ook daar zat weer een foutje dus 

trouwens, als je leest begrijp je de foutmelding er staat
het aantal kolommen komt niet overeen met het aantal values (iets in die richting )
Offline TriX - 04/05/2006 19:48 (laatste wijziging 04/05/2006 19:49)
Avatar van TriX HTML interesse Vervang:

  1. mysql_query ("INSERT INTO petitie (aam, naam1, email)


  1. mysql_query ("INSERT INTO petitie (naam, naam1, email)


Spel fout @ naam
Offline ikkedikke - 05/05/2006 18:01
Avatar van ikkedikke PHP expert je probeert 4 kolommen in te voegen terwijl je maar 3 kolommen benoemt in het begin van je query
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.257s