MySQL "ausleselänge" begrenzt?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi


    Ich habe ein schwerwiegendes Problem. Ich habe ein MySQL Car-System, was mitlwerweile auf 42 Spalten gewachsen ist. Nur irgendwie crasht der Server immer, wenn der String der letzten Spalte zu lang ist. (Beim starten, also laden der Auto-Informationen aus der tabelle). In der letzten spalte wird der Abstellort gespeichert. Ist der Name des ortes zu lange, bleibt der server dort hängen und crasht. Lösche ich den Ortsnamen, oder einen Teil, dann geht das car, bis am nächsten hängenbleibt.


    Ich habe sehr stark das gefühl, dass das mit der maximalen länge der Zeile zu tun hat. Ich habe jetzt 4 Float´s adden müssen und habe festgestellt, dass der server nun auch bei viel kürzeren Ortsnamen hängenbleibt oO


    Wie behebe ich das Problem? Brauche dringend hilfe, muss so jedes mal von hand alle Ortsnamen kürzen, damit ich den server Starten kann, oder gar einen GMX durchführen kann.


    MFG, Robdeflop®

  • Hi


    new var[200];
    new result[150];
    format(var, sizeof(var), "SELECT * FROM `Autos` WHERE `IDname`='%d'",carid);
    samp_mysql_query(var);
    samp_mysql_store_result();
    if(samp_mysql_num_rows() != 0)
    {
    samp_mysql_fetch_row(var);
    samp_mysql_get_field(.....
    .
    .
    .


    Sag nicht dass es an var liegt oO
    Wenn doch fühl ich mich ma wieder selber von mir verascht xD
    Ist die größe von var bei fetch_row entscheidend?


    MFG, Robdeflop®

  • Hi


    Nein, am Result liegts nicht, da ja nur immer der Wert von einer Zelle ausgegeben wird/in result gelegt wird. Und kein Zelleninhalt ist größer als 130. Und wenn, dann würde der Server daran nicht crashen, sondern es würde nur ein Teil der Zelle ausgegeben^^


    MFG, Robdeflop®

  • Hi


    So groß? oO
    Ich denke so viel muss nich sein :D
    Ich versuchs erstmal mit 400.


    Mal eine andere frage, die mir grad in den Kopf fällt. Warum wird als String-länge eigendlich so oft eine Zahl aus dem Binärsystem (weiß nich wie ich es nennen soll, meine halt 1, 2, 4, 8, 16, 32...) genommen? Hat das einen bestimmten grund?


    MFG, Robdeflop®

  • Nicht wirklich, außer dass 2048 der größtmögliche String ist...


    Wo haste denn die Information her.
    Abgesehen davon dass es eh ein Array ist,kann Ich bei mir welche erstellen die 14401 Felder haben :S .



    Darf man wissen wieso du den Ort als String unbedingt brauchst und nicht einfach anhand der Koordinaten den Ort berechnest?

  • Hi


    Ich habe das mit dem Ort bewusst gemacht, damit der Coder (Kagayushi :love: ) schneller drauf zugreifen kann. Sozusagen auch zeitersparnis. Abgesehen davon ist es ja egal ob es eine Spalte mehr oder weniger ist.


    Ich hab mir eben fast in der Ar*** gebissen :/ (nich ernst gemeint xD) Es lag wirklich an var? oO Ich dachte immer das in var nur die Navigation (darf ich das so nennen? xD) reinkommt, und die beansprucht ja nicht viel platz. Ich hatte var zu aller letzt verdächtigt :cursing:


    Eine Antwort auf meine Frage mit der Große der Strings habe ich aber immernoch nicht :D Hab mich von anfang an gefragt warum immer/oft die größen aus der 2 hoch n reihe kommen :)


    Aber vielen vielen vielen dank schonmal, wart eine große hilfe :thumbup:


    MFG, Robdeflop®