Jump to content

Archived

This topic is now archived and is closed to further replies.

Thrakorzog

Wierd INSERT INTO problem with ODBC

Recommended Posts

I am not exactly a new-b, but I am not so old hat to know what's going on with this one, and can use some sage advice.

I have the following code that fails:
[color=red]//Create Tasks
for ($n = 0 ; $n < count ($TN) ; $n++)
{
$sql="INSERT INTO Task (ParentProject, ParentTask, Desc, TimeEstimate, Lvl) ";
$sql=$sql."VALUES (";
$sql=$sql."0, ";
$sql=$sql.$proj_ID.", ";
$sql=$sql."'".$TN[$n]."', ";
$sql=$sql.$TT[$n].", ";
$sql=$sql.$LV[$n].")";

[color=limegreen]$rs=odbc_exec($conn,$sql);[/color] [i][b] //<-this is line 77[/b][/i]
if (!$rs)

  {

  exit("Error in SQL:".$sql);

  }
}[/color]

===================================\

OK, it looks clean, but that usually means you have a database side problem except for two factors:
1) I have another statement just a few lines up that calls successfully:
[color=red]//Create SQL statement
$sql="INSERT INTO Project (ProjName, POC, ScopeState, DesignConcepts, Deliverables, ";
$sql=$sql."Boundaries, SuccessCriteria, Resources, RisksMit, Assumptions, ";
$sql=$sql."StakeHolders, ProjectManager, ProjectSponsor) ";
$sql=$sql."VALUES ('".$PN."', '".$PC."', '".$SC."', '".$DC."', '".$DE;
$sql=$sql."', '".$BO."', '".$SU."', '".$RS."', '".$RM."', '".$AS;
$sql=$sql."', '".$ST."', ".$PM.", ".$PS.")";

//Execute SQL statement
$rs=odbc_exec($conn,$sql);

if (!$rs)

  {

  exit("Error in SQL:".$sql);

  }


//Get ID just inserted Into Database
$pre_SQL="SELECT TOP 1 ProjID FROM Project ORDER BY ProjID DESC";

//Execute SQL statement
$pre_rs=odbc_exec($conn,$pre_SQL);

if (!$pre_rs)

  {

exit("Error in SQL".$pre_sql);

  }

while (odbc_fetch_row($pre_rs))

  {

  $proj_ID=odbc_result($pre_rs,"ProjID");

  }
[/color]
==============================================================

and .......
2) the error indicates a problem with my syntax:
[color=blue]Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement., SQL state 37000 in SQLExecDirect in C:\Webroot\matrix\Olive\Functions\NewProjectCreate.php on line 77
Error in SQL:INSERT INTO Task (ParentProject, ParentTask, Desc, TimeEstimate, Lvl) VALUES (0, 0, '1', 1, 0)[/color]

Thanks for any insight.

Share this post


Link to post
Share on other sites
DESC is SQL reseved word. I recommend you change the column name, say 'description'

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.