Avatar billede mccookie Seniormester
09. november 2007 - 23:56 Der er 9 kommentarer og
1 løsning

Længden på et felt i MySQL

Er det muligt at hente feltets længden i DB vha. en forespørgelse?

Eks.

feltet NAVN - Varchar - 25

Er det muligt og hvordan?
Avatar billede kdjweb Nybegynder
10. november 2007 - 00:14 #1
Avatar billede kdjweb Nybegynder
10. november 2007 - 01:35 #2
siddet og gloet hele MySQL manualen igennem, fundet så meget andet, men dog ikke til at hente nummeret ud
Avatar billede showsource Seniormester
10. november 2007 - 07:52 #3
$sh = mysql_query("SHOW COLUMNS FROM tabel LIKE 'feltnavn'") or die (mysql_error());
$sg = mysql_fetch_assoc($sh);
echo $sg["Field"] ." - ". $sg["Type"];
Avatar billede mccookie Seniormester
10. november 2007 - 09:35 #4
Jeg vil helt bestemt tro at det er dette vi leder efter:

BIT_LENGTH(str)
Returns the length of the string str in bits.
mysql> SELECT BIT_LENGTH('text');
        -> 32


Jeg vil prøve det engang imorgen.....vi skal holde lidt fødselsdag idag.... ;o)

Showsource>> Henter du ikke bare en oversigt ud?
Avatar billede showsource Seniormester
10. november 2007 - 10:18 #5
næ, eller jo, jeg henter info om kolonnen "feltnavn" i tabellen "tabel" som svarer til hvad "feltnavn" blev sat til ved CREATE TABLE

BIT_LENGTH('feltnavn') har intet med det at gøre

Og ha' en go' dag! :O)
Avatar billede mccookie Seniormester
12. november 2007 - 21:00 #6
Field  Type  Null  Key  Default  Extra 
headline varchar(25)       

Det er resultatet fra din showsource......

kdjweb>>> Jeg vil gerne have at vide at det er en varchar(25), der er jeg interesseret i at en forespørgelse returnere 25....
Avatar billede showsource Seniormester
13. november 2007 - 12:17 #7
Det er noget regex på $sg["Type"]
Avatar billede showsource Seniormester
15. november 2007 - 06:39 #8
Eller strpos() og substr()

$sh = mysql_query("SHOW COLUMNS FROM `tabelnavn` LIKE 'feltnavn'") or die (mysql_error());
$sg = mysql_fetch_assoc($sh);
$felttype = trim($sg["Type"]); // trim() for alle tilfældes skyld
mysql_free_result($sh);

$foerste = strpos($felttype, "(");

if($foerste !== false) { // hvis ( findes

echo substr($felttype,($foerste+1),-1);

}
Avatar billede mccookie Seniormester
09. december 2007 - 12:38 #9
hmm... syntes ikke lige at der kom et forslag som var brugbart.
Avatar billede showsource Seniormester
10. december 2007 - 02:27 #10
?
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