任何人都可以告诉我从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);
答案 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的所有内容,并且tb1
和idt1
都不是以任何形式或形式的用户输入构建的。