insert data

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Roel vd Ven

Roel vd Ven

16/03/2006 21:07:00
Quote Anchor link
Hallo mensen
Ik heb net een extra tabel toegevoegd. 'User_age' en nu kunnen bestaande leden daar hun leeftijd invullen, maar nu kunnen nieuwe leden zich niet langer registeren. je krijgt dan deze error:
Column count doesn't match value count at row 1
 
PHP hulp

PHP hulp

22/12/2024 23:28:58
 
Stefan van Iwaarden

Stefan van Iwaarden

16/03/2006 21:09:00
Quote Anchor link
dan heb je een foutje in je query met betrekking tot een veld, laat je query eens zien?
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:09:00
Quote Anchor link
kijk zelf:
http://84.29.179.219/leden/index2.php
username: test
ww: testtest
 
Terence Hersbach

Terence Hersbach

16/03/2006 21:09:00
Quote Anchor link
beetje code mag, dan snappen we het beter;)
 
Frank -

Frank -

16/03/2006 21:13:00
Quote Anchor link
"Column count doesn't match value count at row 1" klinkt als "het aantal kolommen en het aantal values zijn niet gelijk".

Verder is het niet handig om een leeftijd in te vullen, een geboortedatum/jaar is vele malen handiger. De leeftijd is ieder jaar anders (althans zolang je blijft leven...) en de geboortedatum blijft hetzelfde. Je moet de datum uiteraard wel in een kolom van het type DATE zetten.
 
Han eev

Han eev

16/03/2006 21:14:00
Quote Anchor link
Het aantal velden die de query heeft komt niet overeen met tabel.

De query is waarscheinlijk zo
INSERT INTO tbl VALUES ('id','naam','enz...');
Dus als jij opeens het 3e veld verandert (of 1 toevoegt als 3e)
Dan gaat de rest erna ook door, en pakt hij de verkeerde, velden.

Wat je moet doen is je query nalopen en kijken of het klopt ;)

Edit: Ik ben weer eens traag
Gewijzigd op 16/03/2006 21:33:00 door Han eev
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:14:00
Quote Anchor link
user_age = '" . $_POST['age'] . "',

en zo in phpmyadmin:

http://84.29.179.219/blaaa.JPG
 
Frank -

Frank -

16/03/2006 21:16:00
Quote Anchor link
Age, leeftijd, is een afgeleide van de geboortedatum. Het is dus veel handiger om een geboortedatum, of alleen het geboortejaar, op te slaan. En een datum sla je op in een DATE.
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:18:00
Quote Anchor link
maar oké dat is even bijzaak, als ik er nu bijvoorbeeld Woonplaats had staan, hoe had het dan gemoeten?
 
Frank -

Frank -

16/03/2006 21:19:00
Quote Anchor link
Zet eerst eens de volledig query hier neer, nu moeten we er naar raden. Let op: Het aantal kolomnamen in je query moet gelijk zijn aan het aantal values in je query.
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
mysql_query("
UPDATE
   tbl_users
SET
    user_name       = '"
. $_POST['user'] . "',
    user_email      = '"
. $_POST['email'] . "',
    user_age        = '"
. $_POST['age'] . "',
    user_url        = '"
. $_POST['url'] . "',
    user_dateformat = '"
. $_POST['date'] . "',
    user_showmail   = '"
. $_POST['showmail'] . "',
    user_public     = '"
. $_POST['public'] . "',
    user_pass       = '"
. md5($_POST['pass']) . "',
    user_pm         = '"
. $_POST['pm'] . "'
WHERE
      user_id       = '"
. $_SESSION['user_id'] . "'")
or die(mysql_error());
?>
 
Frank -

Frank -

16/03/2006 21:31:00
Quote Anchor link
Dit is een update-query, geen insert-query. En het lijkt mij dat nieuwe leden eerst ge-insert worden voordat ze iets kunnen updaten.

Het is trouwens een slecht plan om de query binnen de functie mysql_query() te zetten. Dan kun je de query nooit meer echoen. Zet de query in een variabele en laat de functie mysql_query() deze variabele uitvoeren: mysql_query($query)
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:36:00
Quote Anchor link
oké dit is de insert querty
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("INSERT INTO tbl_users VALUES ('','" . $_POST['user'] . "','" . $_POST['email'] . "',NULL,'" . md5($_POST['pass']) . "',NOW(),'NULL','d-m-Y H:i:s',1,1,1,NULL,1,NULL,'" . $_ENV['REMOTE_ADDR'] . "')") or die(mysql_error());
?>

maar bij het registreren vraaft hij geen leeftijd... maar moet ik hier wat aan veranderen?
 
Frank -

Frank -

16/03/2006 21:42:00
Quote Anchor link
Nog zo'n stuk brakke code, om het voorzichtig te brengen, doe daar ook eens wat aan. Dat maakt het debuggen een stuk eenvoudiger.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

$query
= "
INSERT INTO
    tbl_users
VALUES (
    '',
    '"
. $_POST['user'] . "',
    '"
. $_POST['email'] . "',
    NULL,
    '"
. md5($_POST['pass']) . "',
    NOW(),
    'NULL',
    'd-m-Y H:i:s',
    1,
    1,
    1,
    NULL,
    1,
    NULL,
    '"
. $_ENV['REMOTE_ADDR'] . "'
)"
;
mysql_query($query) or die(mysql_error());
?>


Hoeveel kolommen heb je in je tabel en waarom noem je deze kolommen niet in je query? Wel zo duidelijk, maakt het debuggen wederom eenvoudiger. En doe ook eens echo $query; dan weet je wat er naar de server wordt gestuurd.

Verder is 'd-m-Y H:i:s' geen datum!!! Dan weet je al vast dat je daar nog een bug hebt zitten...
 
Roel vd Ven

Roel vd Ven

16/03/2006 21:45:00
Quote Anchor link
Ja ik heb dit script gedownload enzo.. en ik heb 16 kolommen in tabel...
 
Frank -

Frank -

16/03/2006 22:11:00
Quote Anchor link
En 15 values... Daarom is het gestructureerd noteren van je code zo belangrijk! Dan kun je nog eens natellen hoe het ook al weer zit. En noem voortaan ook de kolomnamen, dat is duidelijker:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
INSERT INTO
  tabelnaam(
    kolom1,
    kolom2,
    etc.
  )
VALUES(
  'waarde1',
  'waarde2',
  'etc.'
)
 
Roel vd Ven

Roel vd Ven

16/03/2006 22:13:00
Quote Anchor link
oké maar ondertussen werkt hij nog steeds niet (?)
 
Roel vd Ven

Roel vd Ven

16/03/2006 22:23:00
Quote Anchor link
hoe pas in dan in godsnaam dit aan naar een beetje normaal iets?


$query = "
INSERT INTO
tbl_users
VALUES (
'',
'" . $_POST['user'] . "',
'" . $_POST['email'] . "',
NULL,
'" . md5($_POST['pass']) . "',
NOW(),
'NULL',
'd-m-Y H:i:s',
1,
1,
1,
NULL,
1,
NULL,
'" . $_ENV['REMOTE_ADDR'] . "'
)";
mysql_query($query) or die(mysql_error());


??
 
Frank -

Frank -

16/03/2006 22:24:00
Quote Anchor link
Echo de query eens en welke foutmelding krijg je?
 
Roel vd Ven

Roel vd Ven

16/03/2006 22:28:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("INSERT INTO tbl_users VALUES ('','" . $_POST['user'] . "','" . $_POST['email'] . "',NULL,'" . md5($_POST['pass']) . "',NOW(),'NULL','d-m-Y H:i:s',1,1,1,NULL,1,NULL,'" . $_ENV['REMOTE_ADDR'] . "')") or die(mysql_error());
?>


en als ik dat in z,n ding zet zoals jij net zei dan doet hij het helemaal niet meer, en ik krijg nog steeds dezelfde melding
 
Niels Beckers

Niels Beckers

16/03/2006 22:44:00
Quote Anchor link
doe ffe zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$sql
= mysql_query("INSERT INTO tbl_users VALUES ('','" . $_POST['user'] . "','" . $_POST['email'] . "',NULL,'" . md5($_POST['pass']) . "',NOW(),'NULL','d-m-Y H:i:s',1,1,1,NULL,1,NULL,'" . $_ENV['REMOTE_ADDR'] . "')") or die(mysql_error());
echo $sql;
?>
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.