webForumDet fria alternativet

Längd från VARCHAR

Databaser & SQL

4 svar · 1 603 visningar · startad av Jester73

Medlem sedan mars 2012121 inlägg
Frågan#1

Hej

Jag har mysqldata lagrat som VARCHAR med nummer i.

När jag kör mitt PHP skript så vill jag ta reda på längden på strängen men det returneras bara 0?

Måste den vara lagrad som TEXT för att kunna använda strlen-funktionen i PHP

Medlem sedan jan. 2005953 inlägg
#2

Det ska inte vara något problem att köra strlen på en sträng som lagras som VARCHAR i databasen. Kan du visa den kod du har försökt med?

Medlem sedan mars 2012121 inlägg
#3

Det skall ju till lite mer kod på detta men echo blir 00000000....
borde vara 2222222252222....

$sql="SELECT Kontostart, KG_ID FROM Tbl_Kontogrupper";
$result=  ask_db($sql);

while ($row=  mysql_fetch_array($result)){
    $intkstart=strlen($row[Kontorstart]);
    echo $intkstart;
    if ($intkstart>2) {
        $start=substr($row[Kontostart],0,2);
        $stop=substr($row[Kontostart],3,2);
        //echo $start."-".$stop;
    }
    else {
        //echo $row[Kontostart];
        
    }
}
Medlem sedan jan. 2005953 inlägg
#4

Kolumnen heter Kontostart men du försöker kolla längden på array-index Kontorstart. Det indexet finns inte och därför får du 0.

Medlem sedan mars 2012121 inlägg
#5

Jamenprosit, nu funkar det ju.....och jag som har skaffat nya glasögon.

En annan fråga, vad är bäst som primary key, VARCHAR eller TINYTEXT?

250 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)