我已经搜索了很长时间,并没有找到正确的答案,我想从数据库中只删除一个表。所以我有这个:
<?php
$database_name = "XXXXXX";
if (!$link = mysql_connect('XXXXXX', 'XXXXXX', 'XXXXXX')) {
die("Could not connect: " . mysql_error());
}
$sql = "SHOW TABLES FROM $database_name";
if($result = mysql_query($sql)){
while($row = mysql_fetch_row($result)){
$found_tables[]=$row[0];
}
}
else{
die("Error, could not list tables. MySQL Error: " . mysql_error());
}
foreach($found_tables as $table_name){
$sql = "DROP TABLE $database_name.$table_name";
if($result = mysql_query($sql)){
echo "Success - table $table_name deleted.";
}
else{
echo "Error deleting $table_name. MySQL Error: " . mysql_error() . "";
}
}
?>
它将列出数据库中的所有表并删除所有主题,但我想逐个删除它们。像这样的东西:
delete.php?项目= ONE_OF_TABLE
通过查询字符串使用表名或...来删除表。
答案 0 :(得分:1)
然后您的SQL语法必须由WHERE table_name LIKE 'ONE_OF_TABLE'
或用$ _GET ['item']
替换ONE_OF_TABLE答案 1 :(得分:0)
发布的代码完全符合您的要求 - 它会在一个循环中逐个删除表。如果你的意思是 - “向最终用户显示表格,然后逐个删除它们” - 你应该打印SHOW TABLES查询的结果并期望其他一些用户交互。