שלח תשובה

זירת השאלות

305
צפיות
20
תשובות

בעיה עם MYSQL

,‏ 14 ביולי, 2004

יש לי טבלה בMYSQL ויש בה שדות מסוג CHAR. שאני שומר את הטבלה ונכנס אליה מחדש, כל השדות שהיו CHAR, הפכו לVARCHAR.
למה זה קורה?

תגיות:

20 תשובות

  1. jonatan44 הגיב:

    אני חושב
    לפי דעתי רק שדות קטנים (אורך 3 לדוגמא) הוא הופך.

  2. Night הגיב:

    אני עושה שדות של 30 20 15 10 8…..
    והוא הופך..
    למה הוא עושה את זה? איך מסדרים? האם זה נורמלי או בעייתי?

  3. Night הגיב:

    מישהו? איך אני מסדר את הבעיה הזאת?

  4. Night הגיב:

    שאלה בקשר לפתיחת DSN
    שפותחים DSN זה אמור להיות ככה:


    conn.open "dsn=DSNName;"

    או ככה:


    conn.open "DSNName"

    תודה

  5. Night הגיב:

    האם הלולאה הזאת תכביד מאוד על השרת?


    function valid_name(name)

      dim valid
      valid="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_"

      dim i
      for i=0 to len(name)-1
      
        if instr(1,valid,mid(name,i,1) = 0)
        
          valid_name = false
         exit function
      end if
      next i
      valid_name = true
    End Function

    זה אמור לבדוק אם התווים שבמחרוזת שהוא קיבל הם חוקיים. אני אמור להריץ את זה על כמעט כל טקסט שמתקבל מהלקוח… זה יגזול הרבה משאבים?

    מישהו יודע כאן איך אני עושה REGEXP בVBS צד שרת? כדי לחסוך את הלולאה הזאת?

    והאם יכול להיות שמשתמש חכם באתרי יבנה טופס משלו במקום הטופס שבאתרי, אם אותם השדות שנשלחים לאותו יעד, וכך יעקוף את ההגנה שאני עושה (בדיקה בJS בצד הלקוח)?
    תודה

  6. Night הגיב:

    ובבקשה ממישהו שיגיב לגבי הבעיה בMYS
    ובבקשה ממישהו שיגיב לגבי הבעיה בMYSQL…
    האם פשוט להשאיר את זה כמו שזה ולא לגעת?

  7. Deviation הגיב:

    כן, בהחלט אפשרי
    מומלץ לעשות בדיקה גם בצד שרת.

    ולשאלתך, כן אני יודע RegExp ב VBS צד שרת (אבל מה הקשר לפה?).

    מומלץ שתבנה פונקציה שהגולש הגיע מהדף המתאים כדי למנוע זיוף טופס.

  8. Night הגיב:

    רגע ואם הוא מגיע מהדף שהוא אמור
    להגיע ממנו אז יש טעם לעשות בדיקה בשרת?

    בקשר לREGEXP, בעזרתו אפשר להחליף את הלולאה שמכבידה על השרת לא?
    הלולאה תרוץ על כל טקסט שמתקבל מהלקוח.. זה יקח משאבים REGEXP יותר טוב למטרה הזאת לא?

    על השאלה האם הלולאה תיקח הרבה משאבים לא ענית.. תוכל להתייחס לזה גם בבקשה?

    תודה..

  9. Deviation הגיב:

    תראה..
    תמיד מומלץ לבצע בדיקה הן בצד שרת והן בצד לקוח.

    כן, אפשר להחליף את ה RegExp בלולאה ההיא וזה ינתח את כל הטקסט שהוגדר לנתח.

    אני לא יכול להתייחס למשאבים משום שזה תלוי בנתוני השרת, מספר משתמשים במערכת, מצב קאש וכיו’.

  10. sirob הגיב:

    זו לולאה גרועה
    לא מתכוון להעליב, היא פשוט דפוקה. אתה עושה המון פעולות מיותרות.

    במקום לבדוק עבור כל אות אם היא קיימת ברשימה שנתת, אתה יכול לבדוק אם היא בין X ל-Y. זה יהיה הרבה יותר מהיר. תעשה 2 בדיקות עבור כל אות במקום שלושים וכמה…

    בכל אופן, כמו שהלולאה כרגע, היא עוברת על כל האותיות גם אם נמצאה שגיאה – מומלץ להשתמש ב-while ולעצור אותה ברגע שיש טעות.

    אני ממליץ לך לכתוב אותה שוב, ולהשתמש בקוד ה-ascii על מנת לקבוע אם האות תקנית או לא. זה הרבה יותר פשוט ומהיר.

  11. Deviation הגיב:

    שים לב שלא אני כתבתי את הלולאה
    שרשר לכותב ההודעה

  12. Night הגיב:

    בקשר ללולאה ולREGEXP
    1. הלולאה – לא ניסיתי אותה בכלל ולא חשבתי יותר מידי שכתבתי אותה סתם כתבתי כדי שמי שיגיב יבין את הרעיון..
    2. איך אני משתמש בREGEXP בVBS צד השרת כדי לבדוק את התווים, במקום להכביד עם לולאות? או אולי יש דרך אחרת יותר יעילה חוץ מלולאה וREGEXP?

  13. ניר טייב הגיב:

    ב-regExp זה צריך להיראות כך
    בערך 😛 :

    <%
    dim rExp,strToTest
    strToTest="Nir"
    rExp = new RegExp
    with rExp
       .Global = true
       .IgnoreCase = true
       .Pattern = "[a-z0-9_]"
    end with
    bTrue = rExp.Test(strToTest)
    IF bTrue Then
       ”’ if True
    ELSE
       ”’ if False
    END IF
    %>

    יחזיר אמת

  14. Night הגיב:

    אפשר עוד מידע עליו בבקשה?
    מה עושים איתו בידיוק? (חיפשתי בגוגל לא מצאתי עליו כלום..)

  15. Night הגיב:

    אינקלוד?
    האם האינקלוד הזה הוא בASP?


    <!– #include file="page.asp" –>

    אם הוא לא בASP, אז האם הוא בHTML? אפשר לאנקלד בHTML?

    או יותר ברור:
    איך מאנקלדים בASP, ואיך בHTML?

    תודה

שלח תשובה