1

簡単に言えば、次のようにmysqlのデータベースからテーブルを切り捨てて削除したいと思います。

require_once('connect_m.php');

if(isset($_POST['del'])){
    if(is_array($_POST['del'])) {
        foreach($_POST['del'] as $value){
            $query = "TRUNCATE TABLE ".$value."";
            $result = mysql_query($query);
            if(!$result){
                echo "Wrong";
            }
            $query2 = "DROP TABLE ".$value."";
            $result2 = mysql_query($query2);
            if(!$result2){
                echo "Wrong2";
            }
        }

connect_m.php に関しては、単に mysql 接続を確立するだけです

<?php
$con = mysql_connect('localhost', 'root', '');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("stores_m", $con);

?>

ただし、必要な正しい値 (正しいテーブル名)を取得しましechoたが、コードは選択したテーブルを切り捨てたり削除したりしません! そして最も厄介な部分は、php/mysql のいずれにも警告またはエラー メッセージがないことです。$value

4

2 に答える 2

1

TRUNCATE と DROP を機能させるには、テーブル名の周りの引用符を削除する必要があります

「エラー」をエコーする代わりに、MySQL から返された実際のエラーを表示して、何が起こっているのかを理解するのに役立ててください。

$result2 = mysql_query($query2);
if(!$result2){
    echo "Error '" . mysql_errno() . "' : " . mysql_error();
}
于 2012-12-02T18:20:09.180 に答える
1

'引用符を`に置き換えます。したがって、クエリは次のようになります。

$query = "TRUNCATE TABLE `".$value."`;";
$query2 = "DROP TABLE `".$value."`;";

また、テーブル名を引用符で囲んではいけません。

于 2012-12-02T18:21:48.870 に答える