Meerdere tabellen met common prefix
Ik heb 300 tabellen die starten met fb_
Hoe kan ik alleen die tabellen verwijderen met een simpel php scriptje? Heb eens gegoogeld en vond dit:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE $row[0]";
?>
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE $row[0]";
?>
Alleen hij werkt niet naar het schijnt
Mvg
Je moet trouwens je SQL wel uitvoeren
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
if($result){
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE " . $row[0];
echo 'We verwijderen ' . $row[0] . '<br/>' . PHP_EOL;
$deleteResult = mysql_query($sql);
if( $deleteResult === FALSE ){
echo 'Verwijderen van ' . $row[0] . ' mislukt<br/>' . PHP_EOL;
}
}
}else{
echo "Er ging iets fout bij het zoeken van de tabellen.";
}
?>
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
if($result){
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE " . $row[0];
echo 'We verwijderen ' . $row[0] . '<br/>' . PHP_EOL;
$deleteResult = mysql_query($sql);
if( $deleteResult === FALSE ){
echo 'Verwijderen van ' . $row[0] . ' mislukt<br/>' . PHP_EOL;
}
}
}else{
echo "Er ging iets fout bij het zoeken van de tabellen.";
}
?>
Gewijzigd op 17/07/2013 10:47:45 door TJVB tvb
TJVB tvb op 17/07/2013 10:43:53:
Wat werkt er niet, worden de tabellen niet gevonden of niet verwijderd? Krijg je errors?
Je moet trouwens je SQL wel uitvoeren
Je moet trouwens je SQL wel uitvoeren
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
if($result){
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE " . $row[0];
echo 'We verwijderen ' . $row[0] . '<br/>' . PHP_EOL;
$deleteResult = mysql_query($sql);
if( $deleteResult === FALSE ){
echo 'Verwijderen van ' . $row[0] . ' mislukt<br/>' . PHP_EOL;
}
}
}else{
echo "Er ging iets fout bij het zoeken van de tabellen.";
}
?>
$sql = "SHOW tables FROM habbo_badges LIKE '%fb_%'";
$result=mysql_query($sql);
if($result){
while ($row = mysql_fetch_row($result)) {
$sql = "DROP TABLE " . $row[0];
echo 'We verwijderen ' . $row[0] . '<br/>' . PHP_EOL;
$deleteResult = mysql_query($sql);
if( $deleteResult === FALSE ){
echo 'Verwijderen van ' . $row[0] . ' mislukt<br/>' . PHP_EOL;
}
}
}else{
echo "Er ging iets fout bij het zoeken van de tabellen.";
}
?>
Hmm krijg "Er ging iets fout bij het zoeken van de tabellen"..
Maar, ik moet dus tabellen uithalen uit me database genaamd "redsmoker_flx"
en uit Habbo_badges moet ik alle tabellen verwijderen die met fb_ beginnen
Voer die query eens uit met je MySQL clinet (phpmyadmin, heidisql o.i.d.) dan zie je wat er fout gaat.