使用c删除mysql的查询

时间:2012-11-30 10:57:57

标签: mysql c

任何人都可以告诉我从mysql db表中删除值的正确查询,在我的情况下,用户接受表名和id,并根据id删除该行。这是我的查询

 sprintf(Query,"DELETE FROM ('%s') where id = (%d)",tb1,idt1) ;
 /*table name is in form of string and id is int */

 mysql_query(conn,Query);

1 个答案:

答案 0 :(得分:0)

您应该删除表名周围的括号:

sprintf(Query,"DELETE FROM '%s' where id = (%d)",tb1,idt1) ;

MySQL认为像这种语法错误的查询:

delete from (mytable) where id=2;
  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'(mytable)id = 2'附近使用正确的语法

(我假设您了解SQL injection attacks的所有内容,并且tb1idt1都不是以任何形式或形式的用户输入构建的。