I'm generating a dynamic UPDATE command in a loop. The problem is the stupid
comma.
Given this general idea, how do I handle the pesky comma. It's either in the
front and in the way, or on the trailing end and in the way...
I either end up with something like this:
mysql> UPDATE contact_table SET , contact_fname = 'Helen', contact_phone =
'(132) 316-1972' WHERE contact_id = '9999999999' LIMIT 1;
Or this:
mysql> UPDATE contact_table SET contact_fname = 'Helen', contact_phone =
'(132) 316-1972', WHERE contact_id = '9999999999' LIMIT 1;
Depending on where I place my comma.
Is there some 'place holder' command, like "1=1" or something that I could
use like so:
$SQL = "UPDATE ".$table." SET 1=1 ";
So that the , will work properly?
I tried a few things, but all give syntax errors...
mysql> UPDATE contact_table SET 1=1, contact_fname = 'Helen', contact_lname
= 'Wadel', contact_phone = '(132) 316-1972', contact_address1 = 'Main
Street', contact_address2 = 'Apartment 23', contact_city = 'Anyplace',
contact_state = 'HI' WHERE contact_id = '9999999999' LIMIT 1;
--------- snip ------------
$SQL = "UPDATE ".$table." SET ";
foreach($FIELDS as $field)
{
switch($field['type'])
{
case "name":
$SQL .= ",
".$field['column']." =
'".$DATA[$field['type']][mt_rand(0,count($DATA[$field['type']])-1)]."'";
break;
case "phone_fax":
$SQL .= sprintf(",
".$field['column']." = '(%03u) %03u-%04u'", mt_rand(000,999),
mt_rand(000,999), mt_rand(0000,9999));
break;
case "ipaddr":
$SQL .= sprintf(",
".$field['column']." = '%03u.%03u.%03u.%03u'", mt_rand(000,999),
mt_rand(000,999), mt_rand(000,999), mt_rand(000,999));
break;
}
} //foreach field
$SQL .= " WHERE ".$pk_column." = '".$id."' LIMIT 1";
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]