The first thing I do when confronted with this kind of problem is to print
out the sql statement and carefully look through it. So if you have not done
this yet, comment out the $result = statement. Above that add an echo $sql;
Now look through the sql statement and make sure all fields are there and
there is no syntax problem with your query, this is most likley the case. If
you are using mysql I would recommend downloading phpMyAdmin which is a php
GUI interface to mysql, once this is running, you can simply cut and paste
the sql statement into the phpMyAdmin query box and try to run it from
there, it will tell you where your syntax is wrong.

Steve Bradwell
MIS Department.

"If you give someone a program, you will frustrate them for a day. If
teach them how to program, you will frustrate them for a lifetime."

-----Original Message-----
From: Markus Jäntti [mailto:janmark@;]
Sent: Wednesday, November 06, 2002 8:34 AM
Subject: [PHP] New to PHP, and stuck

I'm working myself through Julie C. Meloni's book "PHP" and now I'm stuck at
chapter 12.
My script gives me this error:  You have an error in your SQL syntax near
'()' at line 1
even tho I've even tried replacing my own work with the file from the book's
I'd be very happy if someone would take the time to look through this and
tell me what the problem might be. Hard to move forward when I don't
understand this.

Here's the script:

//indicate the database you want to use
$db_name ="testDB";

//connect to database
$connection = @mysql_connect("localhost","john","doe99") or
$db = @mysql_select_db($db_name,$connection) or die(mysql_error());

//start creating the SQL statement
$sql ="CREATE TABLE $_POST[table_name] ((";

//continue the SQL statement for each new field
for ($i =0;$i < count($_POST[field_name]);$i++){
 $sql .= $_POST[field_name][$i]."".$_POST[field_type][$i];
 if ($_POST [field_length][$i] != "") {
  $sql .= "(".$_POST [field_length][$i]."),";
 } else {
  $sql .= ",";

//clean up the end of the string
$sql = substr($sql,0,-1);
$sql .= ")";

//execute the query
$result = mysql_query($sql,$connection) or die(mysql_error());

//get a good message for display upon success
if ($result) {
 $msg ="<P>".$_POST[table_name]." has been created!</P>";


<TITLE>Create a Database Table:Step 3</TITLE>
<h1>Adding table to <? echo "$db_name"; ?>...</h1>

<? echo "$msg"; ?>


PHP General Mailing List (
To unsubscribe, visit:

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to