谁能告诉我从 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);
您应该删除表名周围的括号:
sprintf(Query,"DELETE FROM '%s' where id = (%d)",tb1,idt1) ;
MySQL 会考虑这样的查询语法错误:
delete from (mytable) where id=2;
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '(mytable) where id=2' 附近使用正确的语法
(我假设您对SQL 注入攻击了如指掌,并且既不tb1
也不idt1
是从任何形式或形式的用户输入构造的)。