我想使用
删除表格//A user is choosing the table to drop.
$name = $_POST['name'];
mysql_connect("localhost", "root", "password") or die (mysql_error ());
mysql_select_db("db_name") or die(mysql_error());
mysql_query('DROP TABLE IF EXISTS `$name`') or die(mysql_error());
如果我手动更换" $ name"使用表名,它可以工作,所以我相信我的错误与删除一个名称存储为变量的表的语法有关。谢谢你的帮助。
答案 0 :(得分:1)
在PHP中,使用single quotes(')时,不会扩展变量。使用双引号:
mysql_query("DROP TABLE IF EXISTS `$name`") or die(mysql_error());
话虽如此,您不应再使用已弃用的mysql_
函数,而是使用MySQLi或PDO。此外,您对SQL注入持开放态度,但我想您知道,如果您使用DROP TABLE
数据进行$_POST
,则无需进行任何验证。