fout in sql syntax (Opgelost)
sander123 - 27/02/2007 22:13
Nieuw lid
Ik heb deze fout in mijn adminsysteem als ik een nieuw iets wil toevoegen. dus als ik alles heb ingevuld en op toevoegen druk krijg ik deze fout. waar kan dat aanliggen en welke pagina moet dan de fout staan ?
mochten jullie scripts nodig hebben om de fout te ontdekken dan zal ik die er neer zetten
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
17 antwoorden
Gesponsorde links
Stefan14 - 27/02/2007 22:15
PHP gevorderde
ja, de query zelf is wel handig inderdaad, want aan de hand van de foutmelding kunnen we dan achterhalen waar het probleem ligt.
cloudstrife - 27/02/2007 22:15
PHP beginner
De fout zegt het toch? Je hebt een fout in je sql instructie. Dus best plaats je hier ff die sql instructie...
sander123 - 27/02/2007 22:16
Nieuw lid
dit bedoel je?
CREATE TABLE `rit` (
`id` int(5) NOT NULL auto_increment,
`titel` varchar(255) NOT NULL default '',
`plek` longtext NOT NULL,
`renner` longtext NOT NULL,
`ploeg` longtext NOT NULL,
`tijd` longtext NOT NULL,
`datum` datetime NOT NULL default '0000-00-00 00:00:00',
`poster` varchar(255) NOT NULL default '',
`url_plaatje` varchar(255) NOT NULL default '',
`type` int(1) NOT NULL default '0',
`vlag` char(3) NOT NULL default '',
`belangrijk` int(1) default NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `plek` (`plek`)
) ENGINE=MyISAM AUTO_INCREMENT=6327 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6327 ;
--
-- Gegevens worden uitgevoerd voor tabel `rit`
--
CREATE TABLE `rit` (
`id` int( 5 ) NOT NULL auto_increment,
`titel` varchar( 255 ) NOT NULL default '' ,
`plek` longtext NOT NULL ,
`renner` longtext NOT NULL ,
`ploeg` longtext NOT NULL ,
`tijd` longtext NOT NULL ,
`datum` datetime NOT NULL default '0000-00-00 00:00:00' ,
`poster` varchar( 255 ) NOT NULL default '' ,
`url_plaatje` varchar( 255 ) NOT NULL default '' ,
`type` int( 1 ) NOT NULL default '0' ,
`vlag` char( 3 ) NOT NULL default '' ,
`belangrijk` int( 1 ) default NULL ,
FULLTEXT
KEY `plek`
( `plek`
) ) ENGINE= MyISAM AUTO_INCREMENT= 6327 DEFAULT CHARSET= latin1 AUTO_INCREMENT= 6327 ;
--
-- Gegevens worden uitgevoerd voor tabel `rit`
--
Stefan14 - 27/02/2007 22:20
PHP gevorderde
nee, de query die je uit wilt voeren om data te selecteren/in te voegen enz.
Dit is om je tabel aan te maken, en hier zit geen fout in op de plek die MySQL aangeeft.
cloudstrife - 27/02/2007 22:20 (laatste wijziging 27/02/2007 22:21)
PHP beginner
geeft op mijn sql server geen fouten, probeer eens enkel de instructie zonder die commentaar onderaan. dus die -- -- Gegevens worden.... weglaten.
Maar je spreekt over iets toevoegen? Dan zal je wel een andere instructie moeten geven, iets in de aard van update of insert
roelh - 27/02/2007 22:22
PHP gevorderde
Je moet dus deze regel toevoegen:
INSERT into...blablablabla
sander123 - 27/02/2007 22:24 (laatste wijziging 27/02/2007 22:33)
Nieuw lid
Citaat:
geeft op mijn sql server geen fouten, probeer eens enkel de instructie zonder die commentaar onderaan. dus die -- -- Gegevens worden.... weglaten.
geprobeerd zelfde resultaat.
@stefan14: ik zal even de query proberen te plaatsen. het script is niet van mij en ik ben er niet zo goed in php/mysql heb het enkel wat veranderd vandaar.
@ roelh: dan krijg ik deze fout:
--
-- Gegevens worden uitgevoerd voor tabel `rit`
--
INSERT INTO `rit`
VALUES ( 1, 'helmond', ‘dennis’, '3', 'rens', 'assen', 'elf uur', '2007-02-01 17:44:15', 'robin', ' http://www.jip.nl/, 2, 'eu', NULL ) ;
MySQL retourneerde:
#1136 - Column count doesn't match value count at row 1
--
-- Gegevens worden uitgevoerd voor tabel `rit`
--
INSERT INTO `rit`
VALUES ( 1 , 'helmond' , ‘dennis’, '3' , 'rens' , 'assen' , 'elf uur' , '2007-02-01 17:44:15' , 'robin' , ' http://www.jip.nl/, 2, ' eu', NULL ) ;
MySQL retourneerde:
#1136 - Column count doesn' t match value
count at row
1
in het script vraag ik het zo op volgens mij:
} elseif($_GET['pagina'] == 'nieuw_bericht') {
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = mysql_query("INSERT INTO rit (titel, plek, renner, ploeg, tijd, datum, poster, url_plaatje, type, vlag, belangrijk) VALUES ('".addslashes($_POST['titel'])."','".$_POST['plek']."','".$_POST['renner']."','".$_POST['ploeg']."','".$_POST['tijd']."',NOW(),'".$_SESSION['admin_naam']."','".addslashes($_POST['plaatje'])."',".$_POST['type'].",'".$_POST['vlag']."'),'".$_POST['belangrijk']."'") or die(mysql_error());
} elseif ( $_GET [ 'pagina' ] == 'nieuw_bericht' ) {
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$sql = mysql_query ( "INSERT INTO rit (titel, plek, renner, ploeg, tijd, datum, poster, url_plaatje, type, vlag, belangrijk) VALUES ('" . addslashes ( $_POST [ 'titel' ] ) . "','" . $_POST [ 'plek' ] . "','" . $_POST [ 'renner' ] . "','" . $_POST [ 'ploeg' ] . "','" . $_POST [ 'tijd' ] . "',NOW(),'" . $_SESSION [ 'admin_naam' ] . "','" . addslashes ( $_POST [ 'plaatje' ] ) . "'," . $_POST [ 'type' ] . ",'" . $_POST [ 'vlag' ] . "'),'" . $_POST [ 'belangrijk' ] . "'" ) or
die ( mysql_error ( ) ) ;
marten - 27/02/2007 22:54
Beheerder
Integers hoeven niet tussen quotes.
sander123 - 27/02/2007 23:12
Nieuw lid
@ marten waar bedoel je?
Stefan14 - 28/02/2007 01:21
PHP gevorderde
integers zijn getallen, oftewel alle kolommen waar getallen in komen te staan, daar kun je bij de 'values' de quotes weghalen.
marten - 28/02/2007 08:32 (laatste wijziging 28/02/2007 08:38)
Beheerder
volgens mij heb je de POST waardes in de verkeerde volgorde gezet
<?php
INSERT INTO `rit`
VALUES ( 1, 'helmond', ‘dennis’, '3', 'rens', 'assen', 'elf uur', '2007-02-01 17:44:15', 'robin', ' http://www.jip.nl/, 2, 'eu', NULL ) ;
?>
<?php
INSERT INTO `rit`
VALUES ( 1 , 'helmond' , ‘dennis’, '3' , 'rens' , 'assen' , 'elf uur' , '2007-02-01 17:44:15' , 'robin' , ' http://www.jip.nl/, 2, ' eu', NULL ) ;
?>
Dit zijn er 13.
En in je INSERT zijn er 11
Dark_Paul - 28/02/2007 08:53
PHP ver gevorderde
De fout, je sluit bij http://www.jip.nl je quote niet af
sander123 - 28/02/2007 10:43
Nieuw lid
bedankt voor de reacties. Ik heb inmiddels in mijn phpmyadmin de fout van de mysql eruit, maar bij het toevoegen blijf ik de zelfde fout houden.
misschien mijn hele code even plaatsen op plaatscode.be:?:
sander123 - 28/02/2007 11:07 (laatste wijziging 03/03/2007 09:39)
Nieuw lid
zo bedoel je?
$rss_feed = '<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>';
$rss_feed = '< ?xml version= \"1.0\" encoding=\" ISO-8859-1\" ?> ';
dan krijg ik nog steeds hetzelfde resultaat.
Inmiddels is het opgelost
Gesponsorde links
Dit onderwerp is gesloten .