<?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/