This topic is locked
[SOLVED]

 add data to another table query problem

10/21/2012 6:45:12 AM
PHPRunner General questions
G
GunnySJB author

Hoi
can somebody see the mistake in this query
global $conn;

$strSQLInsert = "UPDATE personeelsbestand SET

afdelingsID= '".$values["Afdelingnaar"]."',

Functie= '".$values["functienaar"]."',

Contract= '".$values["Contractnr"]."',

Uurtype= '".$values["Uurtypenr"]"' ";
if (!empty($values['datumuitnaar']))

$strSQLInsert.= datum uit dienst ='".$values["datumuitnaar"]."';
if (!empty($values['vervangt']))

$strSQLInsert.=vervant ='".$values["vervangt"]."';
$strSQLInsert.= where persnr= '".$values["PersoneelsID"]."';
db_exec($strSQLInsert,$conn);
i would be gratefull because i don't seem to find it and i'm not an mysql expert.
Thnx

C
cgphp 10/21/2012

Some hints:

  1. If the field type is INT, don't use single quotes to assign values. For example, if afdelingsID is an INT type

`afdelingsID`= '".$values["Afdelingnaar"]."', //WRONG

`afdelingsID`= ".$values["Afdelingnaar"].", //CORRECT


2. The correct syntax for the UPDATE statement is:

UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE condition]



Each column_name = value pair is separeted by commas. Check your consecutive if statements.
3. Check firebug for errors.

G
GunnySJB author 10/22/2012

Hoi
i solved it. I use the following and now it works perfect :
global $conn;

$strSQLInsert = "UPDATE personeelsbestand SET

afdelingsID=' ".$values["Afdelingnaar"]." ',

Functie= '".$values["functienaar"]."',

Contract= '".$values["Contractnr"]."',

Uurtype= '".$values["Uurtypenr"]."' ";
if (!empty($values['datumuitnaar']))

$strSQLInsert.=", datum uit dienst ='".$values["datumuitnaar"]."' ";
if (!empty($values['vervangt']))

$strSQLInsert.=", vervant ='".$values["vervangt"]."' ";
$strSQLInsert.="where persnr= ' ".$values["PersoneelsID"]." ' ";

db_exec($strSQLInsert,$conn);
Thnx