Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-仅从数据库中删除一个表_Php_Mysql_Database_Sql Drop - Fatal编程技术网

PHP-仅从数据库中删除一个表

PHP-仅从数据库中删除一个表,php,mysql,database,sql-drop,Php,Mysql,Database,Sql Drop,我搜索了很长时间,并没有找到这个问题的正确答案,我只想从数据库中删除一个表。所以我有这个: <?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 = my

我搜索了很长时间,并没有找到这个问题的正确答案,我只想从数据库中删除一个表。所以我有这个:

<?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?item=表中的一个

通过带有表名的查询字符串删除表或…

首先查看

然后,您的SQL语法必须由WHERE表名称编辑,如“ONE\u OF\u table”


或者用$\u GET['item'].

替换表中的一个表。发布的代码完全符合您的要求—它会在一个周期内逐个删除表。如果您的意思是-向最终用户显示表,而不是逐个删除它们-您应该打印显示表查询的结果,并期待其他用户交互。

那么您需要显示表还是循环?您知道要删除的表名吗?不,我不知道表名,它们是动态的。我确实想按名称列出所有表,然后逐个删除它们@Dagonyou说只有一个,而所有的都是,哪一个呢?如果$\u GET['item']=='table\u name'删除,那么发布代码将删除所有表。但我不想要这个。我想分别删除每个表。逐条删除@达贡