php - 从多个表中删除数据库中的数据

标签 php mysql

<?php
//after creating connection

$dbname = 'bca2y';//database name


$sql = "SHOW TABLES FROM $dbname";
$result = mysqli_query($conn , $sql);

if (!$result) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}

while ($row = mysqli_fetch_row($result)) {
$table = "{$row[0]}\n";

    echo "$table<br>";
if($conn == TRUE){
    echo "connection is possible<br>";
}
$sqld = "DELETE FROM $table";
$resultd = $conn->query($sqld);
    if($resultd === TRUE){
    echo "Data deleted succesfully ";//checking if data deleted
}
else {
    echo "some error<br>";// for checking if code is not running
}


}

?>

这里我试图查找表的名称并从给定表中删除数据 但我认为使用变量作为表名存在语法错误。 我的代码没有给出任何错误,但它仍然无法工作。

最佳答案

如果我理解您的意图——查找表并将其从数据库中删除,那么“DELETE FROM mes”无法实现此目标。在 SQL 中,“DELETE FROM”从指定数据库中删除记录。更常见的是 DELETE FROM TableName WHERE ColumnName is 'SomeValue'; - 删除某些记录。但DELETE FROM TableName 是一个有效的 SQL 查询 - 它从名为 TableName 的表中删除所有 记录。

如果您希望从第一个查询检索到的表名中删除所有记录,则需要在删除语句中使用变量名,而不是静态字符串 mes。

如果您想删除该表(不仅仅是删除其中包含的数据),请使用 DROP TABLE .

关于php - 从多个表中删除数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54843089/

相关文章:

php - 扩展核心并在 Laravel 中显示每个页面中的数据

mysql - 使用 codeigniter 在本地服务器上进行文件操作

PHP 按两列相加排序

javascript - 如何解析来自 mysql 跟踪数据库的数据?

mysql - 创建组合Primary Mysql

javascript - 如何在 wordpress 前端使用 ajax 保存帖子和自定义字段值?

php - 如何将数组从php文件导出到另一个php文件

php mysql 表创建建议 WHERE certain cell =

php - 计算对象/ protected 数组

mysql - mysql触发器查询语法错误