Avatar billede webweaver Praktikant
29. oktober 2007 - 21:11 Der er 11 kommentarer og
1 løsning

Checke om tabel i DB findes

Hejsa..

Finder der en funktion som kan tjekke om en bestemt tabel i MySQL findes, og dernæst retunerer en true eller false værdi?

Eller skal man først prøve at hente noget ud af tabellen fx, og hvis den så ikke findes, er den false ?

Mvh. Lasse Jensen
Avatar billede mccookie Seniormester
29. oktober 2007 - 21:25 #1
<?php

$link = mysql_connect('localhost', 'mysql_bruger', 'mysql_kode');
if (!$link) {
    die('Kunne ikke forbinde : ' . mysql_error());
}

// Sæt foo til den aktive database
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Kan ikke vælge foo : ' . mysql_error());
}
?>
Avatar billede jakobdo Ekspert
29. oktober 2007 - 21:30 #2
$res = mysql_query("show table status like '$tablename'") or die(mysql_error());
$table_exists = (mysql_num_rows($res) == 1);
Avatar billede webweaver Praktikant
29. oktober 2007 - 21:43 #3
Tak til Jer begge. Ledte efter jakobdo's svar.. :)
Avatar billede jakobdo Ekspert
29. oktober 2007 - 21:48 #4
Du får et svar så...
Avatar billede jakobdo Ekspert
29. oktober 2007 - 21:48 #5
Eller...
Avatar billede majbom Novice
30. oktober 2007 - 14:12 #6
-> mccookie - du forbinder jo bare til en database-serveren og vælger database. der bliver ikke tjekket på nogen tabel...
Avatar billede mccookie Seniormester
30. oktober 2007 - 14:22 #7
Splazz>> Læs webweaver kommentar kl. 21:43:19
Avatar billede webweaver Praktikant
04. november 2007 - 15:23 #8
Forresten lige en ekstra ting.

Kan man ikke bruge OR i kommandoen? LIKE 'tablename' or LIKE 'tablename2' eller lignende? Det virker p.t. ikke nemlig hvis jeg prøver.
Avatar billede jakobdo Ekspert
04. november 2007 - 16:02 #9
Hvis vi snakker MYSQL 5.0, kan du kigge lidt her: http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html
Avatar billede webweaver Praktikant
04. november 2007 - 17:04 #10
Der beskrives umiddelbart intet om OR, så skal det forståes som det ikke er muligt?
Som det jo for eksempel er med SELECT, DELETE, UPDATE og så videre ...
Avatar billede jakobdo Ekspert
04. november 2007 - 17:51 #11
Nej, men måske du kan lave noget med WHERE?
Avatar billede webweaver Praktikant
04. november 2007 - 19:55 #12
Jeg skal checke om tabel1 eller tabel2 findes i databasen. Og hvis en af de 2 tabeller eksisterer, skal den udføre en handling.

Så umiddelbart kan jeg ikke bruge WHERE i den situation, så vidt jeg lige kan se.
Men hvis man ikke kan benytte sig af OR og AND, så må man jo bare lige et udtræk med den ene tabel og så derefter et andet udtræk med den anden tabel. Det er jo bare lidt mere rodet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester