2017-01-04 18 views
1

私はデータベースとやりとりするphpの作業に問題があります。システムテーブルであるため、1つを除いてデータベース内のすべてのテーブルを表示したいのですが、演算子が動作していないようですが、あなたは何か考えていますか?私はコードの下に投稿します:msqliのいくつかのテーブルを選択しない

$sql_5 = "SHOW TABLES FROM $db_name NOT LIKE `sondaggio attivo`"; 
+0

「WHERE」が役に立ちそうです – RiggsFolly

+0

@RiggsFolly this? 'sondaggio attivo'がうまくいかないところで$ db_nameからテーブルを表示してください! – user3004586

答えて

1

まず、SQLは構文的に正しいものでなければなりません。

2番目の結果行がTables_in_$db_nameという列を持っていますので、名前はデータベースごとに変化するであろうとして、結果を取得するために$res->fetch_array(MYSQLI_NUM)を使用して簡単です、あなたがいけないこの方法は、あなたが

を照会しているどのようなデータベースを気にする必要がありますあなただけの結果から、ある特定のテーブル名を削除しようとしているとして

ですから、例えばこのようなものはthsiもうまくいく

$db_name = 'test'; 
$sql = "SHOW TABLES FROM $db_name WHERE Tables_in_$db_name NOT LIKE 'sondaggio attivo';"; 

$res = $db->query($sql); 

while ($row = $res->fetch_array(MYSQLI_NUM)) { 
    echo $row[0] . '<br>'; 
} 

を動作するはず

$db_name = 'test'; 
$sql = "SHOW TABLES FROM $db_name WHERE Tables_in_$db_name != 'sondaggio attivo';"; 

$res = $db->query($sql); 

while ($row = $res->fetch_array(MYSQLI_NUM)) { 
    echo $row[0] . '<br>'; 
} 
+0

うまく動作します、ありがとう! : - * – user3004586

関連する問題