Column count doesn't match value count at row 1
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]
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
$helloWorld of $aWords of $oUsers
Waar bij 'a' staat voor array en 'o' voor object.
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..
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.
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
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
Dat werkt
Wat was het probleem?
Dankje!
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.
INSERT INTO
tabelnaam (kolom1,kolom2,kolom13,kolom18)
VALUES
(waarde1,waarde2,waarde13,waarde18)
`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...