944,130 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Unsolved
  • Views: 4501
  • PHP RSS
May 3rd, 2007
0

query problem (delimiter?)

Expand Post »
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:
PHP Syntax (Toggle Plain Text)
  1. 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 4
It'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:
PHP Syntax (Toggle Plain Text)
  1. -- -- 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.
Last edited by Anonymusius; May 3rd, 2007 at 9:30 am.
Similar Threads
Reputation Points: 129
Solved Threads: 11
Posting Whiz in Training
Anonymusius is offline Offline
223 posts
since Aug 2006
May 4th, 2007
0

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 ;
Reputation Points: 10
Solved Threads: 0
Newbie Poster
nsstone is offline Offline
3 posts
since Jan 2006
May 4th, 2007
0

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 :
PHP Syntax (Toggle Plain Text)
  1. --
  2. -- Database: `anonymusiusform`
  3. --
  4.  
  5. CREATE DATABASE `anonymusiusform` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
  6. USE `anonymusiusform`;
  7.  
  8. -- --------------------------------------------------------
  9.  
  10. --
  11. -- Table structure for table `enquete`
  12. --
  13.  
  14. CREATE TABLE IF NOT EXISTS `enquete` (
  15. `id` int(5) NOT NULL auto_increment,
  16. `ip` varchar(16) NOT NULL,
  17. `host` varchar(50) NOT NULL,
  18. `age` varchar(2) NOT NULL,
  19. `name` varchar(50) NOT NULL,
  20. `rank` varchar(8) NOT NULL,
  21. `opmerking` text NOT NULL,
  22. PRIMARY KEY (`id`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
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.
Reputation Points: 129
Solved Threads: 11
Posting Whiz in Training
Anonymusius is offline Offline
223 posts
since Aug 2006
May 6th, 2007
0

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.
Reputation Points: 129
Solved Threads: 11
Posting Whiz in Training
Anonymusius is offline Offline
223 posts
since Aug 2006
May 6th, 2007
0

Re: query problem (delimiter?)

seems like you got it working then. if you have any more questions, don't hesitate to post!
Reputation Points: 35
Solved Threads: 5
Junior Poster
dr4g is offline Offline
136 posts
since Apr 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: Contact us form help
Next Thread in PHP Forum Timeline: help with forms





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC