![]() |
| ||
| query problem (delimiter?) I have a program which requires a database. So I made a file that could generate the sql to create it (I copied the sql from PHPmyadmin as reference). When I execute the sql I get the error: 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 '; USE `anonymusiusform`; -- ------------------------------------------------' at line 4It's always on the first ; that the error occurs. If I execute it in PHPmyadmin it works and correctly creates the database. I think the problem lays with the 'delimiter'. I tried googling it but I didn't found anything to solve my problem. This is the sql my file generate“s: -- -- Database: `anonymusiusform` -- CREATE DATABASE `anonymusiusform` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `anonymusiusform`; -- -------------------------------------------------------- -- -- Table structure for table `enquete` -- CREATE TABLE IF NOT EXISTS `enquete` ( `id` int(5) NOT NULL auto_increment, `ip` varchar(16) NOT NULL, `host` varchar(50) NOT NULL, `age` varchar(2) NOT NULL, `name` varchar(50) NOT NULL, `rank` varchar(8) NOT NULL, `opmerking` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;Any help would be highly appreciated. Edit: The layout seems messed up, I don't get what's wrong. Sorry about it. It doesn't seems to recognize enters anymore. |
| ||
| Re: query problem (delimiter?) Hmmm.. how about removing the superfluous comment detritus ... try: CREATE DATABASE `anonymusiusform` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `anonymusiusform`; CREATE TABLE IF NOT EXISTS `enquete` ( `id` int(5) NOT NULL auto_increment, `ip` varchar(16) NOT NULL, `host` varchar(50) NOT NULL, `age` varchar(2) NOT NULL, `name` varchar(50) NOT NULL, `rank` varchar(8) NOT NULL, `opmerking` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
| ||
| Re: query problem (delimiter?) I removed the comments (they were just for fun there, and with enters it actually looked more structured) and it didn't seem to work, still the same error. I google'd a few times and searched through the mysql documentation but I didn't found anything that solve's this. Any help is highly appreciated. Here is the query again, and this time better formatted :) : --I traced the enter problem down to me not enabling javascript because the site is dogslow (for me) with javascript enabled. So again sorry for my previous post. |
| ||
| Re: query problem (delimiter?) I made it work, my solution is however not so pretty looking: [php]$query = '-- -- Database: `anonymusiusform` -- CREATE DATABASE `anonymusiusform` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `anonymusiusform`; -- -------------------------------------------------------- -- -- Table structure for table `enquete` -- CREATE TABLE IF NOT EXISTS `enquete` ( `id` int(5) NOT NULL auto_increment, `ip` varchar(16) NOT NULL, `host` varchar(50) NOT NULL, `age` varchar(2) NOT NULL, `name` varchar(50) NOT NULL, `rank` varchar(8) NOT NULL, `opmerking` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;'; mysql_connect('localhost', 'username', 'password'); foreach(explode(';', $query) as $value) { if($value == ''){continue;} mysql_query($value) or die(mysql_error()); }[/php] It works now, I only use the application and it is only in the adminscreen so I will always be able to dump sql in case of a crash in phpmyadmin. If someone has a better solution please tell me. |
| ||
| Re: query problem (delimiter?) seems like you got it working then. if you have any more questions, don't hesitate to post! |
| All times are GMT -4. The time now is 7:30 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC