לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #6  
ישן 07-02-2007, 15:40
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
שוחרר
בתגובה להודעה מספר 5 שנכתבה על ידי ישראל K שמתחילה ב "האשכול ננעל"

האשכול שוחרר בעקבות הבהרת השואל.

בכל אופן, אני מבקש לעשות הפרדה בין מסד הנתונים לשפת התסריט.
לדוגמה, במקרה הזה, את בדיקת אורך המחרוזת שהמשתמש הזין תבצע בשפת התסריט (רצוי גם לתת הגבלה בצד הלקוח באמצעות html או/ו js).

לגבי בעייתך:
לא כ"כ הבנתי מה לא ברור, אז אסכם הכל בקצרה.
1. שדה varchar מוגבל באורך תווים של עד 255 צווים בהתאם למה שהגדרת בעת יצירת השדה/הטבלה (אם לא שנית לאחמ"כ).
2. אם תזין לשדה באורך 12 תווים מחרוזת ארוכה יותר, המסד נתונים יאחסן בשדה רק את 12 התווים הראשונים.
3. כדי למנוע מצב שמשתמש יזין מידע שלא ישמר, כדאי שתבצע בדיקה בצד הלקוח (לעזרה - פורום בניית אתרים) או/ו בשפת התסריט (לעזרה - פורום PHP -במקרה שלך-).
4. ניתן לשלוף תת מחרוזת באמצעות הפונרציה SUBSTR ופונקציות נוספות בהתאם למפורט בכתובת הזאת, כפי ש-DCD כבר ציין לעיל.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 07-02-2007, 18:33
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 6 שנכתבה על ידי ישראל K שמתחילה ב "שוחרר"

ציטוט:
שדה varchar מוגבל באורך תווים של עד 255 צווים בהתאם למה שהגדרת בעת יצירת השדה/הטבלה (אם לא שנית לאחמ"כ).


זהו שזה לא כל כך מדויק, גם אני חשבתי ככה פעם...

תראה פה:


ציטוט:
For example, a VARCHAR(10) column can hold a string with a maximum length of 10. Assuming that the column uses the latin1 character set (one byte per character),
נלקח מהעמוד (מה שנתתי לפותח האשכול בתגובתי למעלה):
http://dev.mysql.com/doc/refman/5.0...quirements.html

כתוב שאם לדוגמא, ה- character set נקבע ל- latin1, אז כל תו לוקח byte אחד. אבל אם זה נקבע לערך אחר, זה יכול לקחת 2 byte (כמו utf8) או יותר. לפי מה שהבנתי, המספר כאן:
קוד:
VARCHAR(12)

קובע את מספר הבתים (bytes) המוקצים לכל שדה בטור.
זאת אומרת שכנראה המילה שלו נחתכה באמצע, בתנאי שהוא הגדיר את הערך של ה-character set ל- utf8 או קידוד אחר שלוקח 2 byte לכל תו. יש גם סוגים שונים של utf8 שלוקחים מספר בתים שונים לכל תו...

גם כדאי לקרוא את הפיסקה שמתחילה במילים:
ציטוט:
To calculate the number of bytes used to store a particular CHAR, VARCHAR, or TEXT column value...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 19:18

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר