Please help me with the following c code:
sprintf(update, "update chrc set center='");
len = 24;
memcpy(update+len, center, 128);
len += 128;
sprintf(update+len, "', var='");
len += 8;
memcpy(update+len, var, 128);
len += 128;
sprintf(update+len, "' where cc='%s'", row[0]);
len += 15;
if (ret = mysql_real_query(conn, update, len))
printf("fail update %d\n", ret);
int center[4][8], var[4][8]
row[0] is a chinese character (2 bytes)
update is a buffer of char [500]
mysql> describe chrc;
+--------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| cc | char(2) binary | YES | | NULL | |
| count | int(11) | YES | | NULL | |
| center | char(128) binary | YES | | NULL | |
| var | char(128) binary | YES | | NULL | |
+--------+------------------+------+-----+---------+-------+
The query I want to do is
"update chrc set center='--', var'++' where cc='xx'" (1)
where -- is center[4][8] (all of them), ++ is var[4][8], and xx is the chinese
character.
The result I get is that all rows in the table chrc are updated. And it can be seen
from /var/log/mysql/mysql.log, the query executed is
"update chrc set center='" (2)
But I dumped the variable update to a file, and it is exactly as what I want in (1).
Please point me out what is the problem.
Thank you very much.
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php