Column count doesn't match value count at row 1
Hallo,
Ik heb een simpele query
Dit is mijn database..
CREATE TABLE IF NOT EXISTS `news_reactions` (
`id_news` varchar(5) NOT NULL,
`creator` varchar(35) NOT NULL,
`email` varchar(35) NOT NULL,
`content` varchar(85) NOT NULL,
`t_date` date NOT NULL,
`t_time` time NOT NULL,
UNIQUE KEY `t_time` (`t_time`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Iemand enig idee waarom ik dan de error: Column count doesn't match value count at row 1 krijg?
Ik heb een simpele query
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dQuery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "'),
('" . mysql_real_escape_string($_POST['name']) . "'),
('" . mysql_real_escape_string($_POST['email']) . "'),
('" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dQuery) or die (mysql_error());
echo "Added";
} ?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dQuery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "'),
('" . mysql_real_escape_string($_POST['name']) . "'),
('" . mysql_real_escape_string($_POST['email']) . "'),
('" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dQuery) or die (mysql_error());
echo "Added";
} ?>
Dit is mijn database..
CREATE TABLE IF NOT EXISTS `news_reactions` (
`id_news` varchar(5) NOT NULL,
`creator` varchar(35) NOT NULL,
`email` varchar(35) NOT NULL,
`content` varchar(85) NOT NULL,
`t_date` date NOT NULL,
`t_time` time NOT NULL,
UNIQUE KEY `t_time` (`t_time`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Iemand enig idee waarom ik dan de error: Column count doesn't match value count at row 1 krijg?
Gewijzigd op 01/01/1970 01:00:00 door [email protected]
doe eens:
mysql_query($dQuery) or die ('de volgende query: '.$dQuery.' levert deze fout '.mysql_error());
Waarom trouwens hoofdletters voor $vars. Dat is vragen om problemen.
Voor de rest ziet het er niet raar uit
mysql_query($dQuery) or die ('de volgende query: '.$dQuery.' levert deze fout '.mysql_error());
Waarom trouwens hoofdletters voor $vars. Dat is vragen om problemen.
Voor de rest ziet het er niet raar uit
@Klaasjan, ik doe dat ook hoor. Het is een soort van nettere stijl van programmeren voor mijj. Bijvoorbeeld een variabel die bestaat uit twee woorden:
$helloWorld of $aWords of $oUsers
Waar bij 'a' staat voor array en 'o' voor object.
$helloWorld of $aWords of $oUsers
Waar bij 'a' staat voor array en 'o' voor object.
Klaasjan,
ik krijg deze error, en over het met hoofdletters, dat doe ik altijd, nooit problemen mee gehad;)!
de volgende query: levert deze fout Query was empty
Maar ik snap er niks van, alvast bedankt :P!
Ik heb ook all gegoogled.
Vond er niks speciaals over, alleen dat het iets met DB was zag ik ergens..
ik krijg deze error, en over het met hoofdletters, dat doe ik altijd, nooit problemen mee gehad;)!
de volgende query: levert deze fout Query was empty
Maar ik snap er niks van, alvast bedankt :P!
Ik heb ook all gegoogled.
Vond er niks speciaals over, alleen dat het iets met DB was zag ik ergens..
Dat is een andere melding dat Column count doesnt match
dat doet ie als het goed is
dat doet ie als het goed is
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
Nog een keer de code met dit;
de fout:
de volgende query: levert deze fout Column count doesn't match value count at row 1
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dquery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "'),
('" . mysql_real_escape_string($_POST['name']) . "'),
('" . mysql_real_escape_string($_POST['email']) . "'),
('" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dquery) or die ('de volgende query: '.$dQuery.' levert deze fout '.mysql_error());
echo $dquery;
} ?>
$dquery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "'),
('" . mysql_real_escape_string($_POST['name']) . "'),
('" . mysql_real_escape_string($_POST['email']) . "'),
('" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dquery) or die ('de volgende query: '.$dQuery.' levert deze fout '.mysql_error());
echo $dquery;
} ?>
de fout:
de volgende query: levert deze fout Column count doesn't match value count at row 1
Zet die echo voor de mysql_query. Die stopt het script namelijk en daardoor zal die echo $dQuery niet uitgevoerd worden.
mysql_query($dquery) or die ('de volgende query: '.$dQuery.' levert deze fout '.mysql_error());
hier heb je nog een hoofdletter
maak daar van
mysql_query($dquery) or die ('de volgende query: '.$dquery.' levert deze fout '.mysql_error());
hier heb je nog een hoofdletter
maak daar van
mysql_query($dquery) or die ('de volgende query: '.$dquery.' levert deze fout '.mysql_error());
de volgende query: INSERT INTO news_reactions (id_news, creator, email, content, t_date, t_time) VALUES ('2'), ('123'), ('123'), ('123') levert deze fout Column count doesn't match value count at row 1
Ah tuurlijk :P
Het moet zijn:
Het moet zijn:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dQuery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "',
'" . mysql_real_escape_string($_POST['name']) . "',
'" . mysql_real_escape_string($_POST['email']) . "',
'" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dQuery) or die (mysql_error());
echo "Added";
} ?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dQuery = "INSERT INTO news_reactions (id_news, creator, email, content) VALUES
('" . mysql_real_escape_string($_GET['news_id']) . "',
'" . mysql_real_escape_string($_POST['name']) . "',
'" . mysql_real_escape_string($_POST['email']) . "',
'" . mysql_real_escape_string($_POST['content']) . "')";
mysql_query($dQuery) or die (mysql_error());
echo "Added";
} ?>
stom ik had die extra haakjes ook nooit gezien... Ik denk dat het met de code van Gamer13 ogelost is
Aha!
Dat werkt
Wat was het probleem?
Dankje!
Dat werkt
Wat was het probleem?
Dankje!
Het probleem was, dat je nu als het ware 5 rijen aan wilde maken, met bij de eerste rij id_news = $_GET['news_id'], de 2e id_news = $_GET['name'] , waar bij een string al mis gaat. Verder kan je de rest van de vakken natuurlijk niet leeg laten.
Je wilde echter 1 rij, met alle gegevens erin. als je "INSER INTO (kollommen) VALUES" wilt gebruiken, moet je de rijen door de haakjes scheiden, en de kollomen door komma's.
Je wilde echter 1 rij, met alle gegevens erin. als je "INSER INTO (kollommen) VALUES" wilt gebruiken, moet je de rijen door de haakjes scheiden, en de kollomen door komma's.
Uitgeschreven:
INSERT INTO
tabelnaam (kolom1,kolom2,kolom13,kolom18)
VALUES
(waarde1,waarde2,waarde13,waarde18)
INSERT INTO
tabelnaam (kolom1,kolom2,kolom13,kolom18)
VALUES
(waarde1,waarde2,waarde13,waarde18)
`t_date` date NOT NULL,
`t_time` time NOT NULL,
Weet je wel heel erg zeker dat dit goed is? Dit kan alleen wanneer de tijd helemaal niets te maken heeft met de datum, dan maak je 2 kolommen aan. Wanneer je een tijdstip op een bepaalde dag wilt opslaan, dan moet je dit in één kolom van het type DATETIME zetten. Het is tenslotte 1 gegeven en dus komt het in één kolom. Of sla je de voornaam "danny" ook op in 5 verschillende kolommen? eerste_letter, tweede_letter, derde_letter, vierde_letter, vijfde_letter...
`t_time` time NOT NULL,
Weet je wel heel erg zeker dat dit goed is? Dit kan alleen wanneer de tijd helemaal niets te maken heeft met de datum, dan maak je 2 kolommen aan. Wanneer je een tijdstip op een bepaalde dag wilt opslaan, dan moet je dit in één kolom van het type DATETIME zetten. Het is tenslotte 1 gegeven en dus komt het in één kolom. Of sla je de voornaam "danny" ook op in 5 verschillende kolommen? eerste_letter, tweede_letter, derde_letter, vierde_letter, vijfde_letter...




