אתה נמצא כאן יסודות השפה  >>  שימוש ב-MySQL  >>  כללי

כללי

PHP תומכת בבסיסי נתונים רבים מאוד, אך הנפוץ שבהם הוא בסיס הנתונים MySQL, שהוא בסיס נתונים המבוסס על שאילתות (SQL DataBase), קל מאוד ונוח לשימוש. פרק זה לא ילמד ממש כיצד משתמשים בשפת SQL, אך יסביר כיצד PHP מקשרת בסיסי נתונים של MySQL.

ב-PHP3 היה צורך בהתקנה מיוחדת כדי ש-PHP תוכל לעבוד עם MySQL, אך ב-PHP4 התמיכה ב-MySQL הוא מובנה בתוך התוכנה (built-in), וכל שצריך הוא שיהיה מותקן במערכת MySQL.


תגובות בנושא

MySql 03-12-02 02:01
 יעקב
#69

למה כאשר אני מכניס נתונים לתוך בסיס נתונים ,לא משנה אם ידנית או על ידי כתיבת שאילתא ,בסיס נתונים לא מכניס סימנים ":","\"
שימוש ב AddSlashes
תודה

תווים מיוחדים 03-12-02 02:02
 אלי חן (מנהל)
#72

בשפות המשתמשות בנתונים של טקסט בדר"כ יש שימוש במרכאות כפולות (או בגרשיים) לייצוג מחרוזת תווים. במחרוזת תווים ישנם גם סימנים שלא ניתנים להדפסה (למשל: שורה חדשה, טאב), לכן יש צורך במציאת שיטה כיצד "להדפיס" תווים מיוחדים בלתי-נראים אלו עם התווים הנראים. בדר"כ משתמשים בתו '\' כדי "להבריח" תווים מיוחדים, מה שהופך גם את התו '\' עצמו לתו מיוחד, וכדי להדפיס את התו '\' יש צורך להבריח גם אותו, כלומר התו '\' ייוצג במחרוזת כרצף '\\'.

MySQL גם עוקבת אחר סטנדרטים אלו, ולכן יש לה 3 תווים נראים שהם מיוחדים ויש צורך להבריח אותם: ' " \

אלו הם 3 התווים הנראים היחידים שצריך להבריח עם התו '\'. התו ':' אינו נכלל ברשימה זו ואין צורך להבריח אותו.

מעבר לזה:
עיקרון זה הוא סטנדרט כמעט בכל מערכת, והידע הזה הוא בסיסי מאוד.

בסיס נתונים 05-12-02 09:01
 איתי
#163

ראיתי אצל חברים, שהם עושים פורומים, סקרים ובכלל משתמשים במסדי נתונים בקובץ "db", האם יש כאן מדריך שמסביר על זה?

תגובה: בסיס נתונים 05-12-02 10:02
 אלי חן (מנהל)
#170

נראה לי שאולי התבלבלת.. בדרך כלל, ב-PHP משתמשים בבסיס נתונים של MySQL (ולעיתים ב-PostgreSQL), ולא פותחים קבצים כדי לגשת אליהם (לפחות אתה לא צריך לפתוח את הקובץ, בסיס הנתונים עושה זאת).
אבל תמיד אפשר ליצור קובץ שישמש כמעין בסיס נתונים קטן כדי לשמור בו חתיכות מידע מאוד קטנות (כמו מספר)..
אולי הם בכלל מתכנתים בשפה אחרת, ששם נהוג יותר להשתמש בקבצים של בסיסי נתונים (למשל ASP ו-Access).

אופרטור @ 06-12-02 13:01
 גיא
#256

מה השימוש שלו?

היכן מאחסנים את הדטהבייס 07-12-02 08:01
 יוני
#308

האם יש ספריה מיוחדת או הרשאות מיוחדות, או כמו בשרתי וינדוס שאצוי לשים אותם לא ב WWW אבל אפשר לשים אותם בכל ספריה

תגובה: היכן מאחסנים את הדטהבייס 07-12-02 09:00
 אלי חן (מנהל)
#312

את הדטהבייס מתקינים בנפרד מ-PHP ומהשרת. אתה יכול להתקין את הדטהבייס בכל מקום על המחשב שלך, ו-PHP לבד תעשה אליו קישור.
קבצי הדטהבייס יושבים במקום מיוחד במחשב ולא בספריה של השרת.

לא!!! 07-12-02 09:01
 drd
#313

אפשר לשים את הקבצים של הדטה בייס בתיקייה של האינטרנט וזה יותר פשוט ונוח!!!

וגישה לקובץ של מישתנים היא מאד שימושית ואני צריך את זה (כי אין משתנים שמשותפים לכל המשתמשים), ואני רוצה לדעת איך לעשות את זה.
תודה

קבצי דטהבייס 07-12-02 10:00
 אלי חן (מנהל)
#317

אני חושב שאתה מתכוון לקבצי דטהבייס כמו Access. אם אתה משתמש ב-MySQL אז קבצי הדטהבייס מנוהלים אוטומטית ע"י MySQL והיא שומרת אותם במקום מיוחד ולא בעץ של ספריית השרת.
תוכל לשמור את קבצי הדטהבייס שלך בתוך העץ של ספריית השרת או מחוצה לה, אתה רק צריך לתת לקובץ הרשאות קריאה/כתיבה עבור public.

בעיה 31-10-02 20:02
 איתי
#507

$m=@mysql_query("SELECT totalcount FROM count WHERE *",$mysql_link);
$n=@mysql_fetch_array($m);
echo $n['1'];

מה לא בסדר בקוד הזה?
הוא לא רושם שום דבר, אבל הטבלאות במסד קיימות:
id totalcounts
1 1
1 2

תגובה: בעיה 31-10-02 22:00
 אלי חן (מנהל)
#520

השאילתא שלך ב-MySQL אינה נכונה!
השאילתא הנכונה:
SELECT totalcount FROM count
(ללא WHERE, זה מותר..)

שתי שאלות 01-12-03 05:01
 [ללא שם]
#663

1. בקשר להברחת תווים ל mysql,
ככל הידוע לי, ב php יש את magic_quotes_gpc()
(שפעיל כברירת מחדל) שמבריח את התווים המיוחדים
מ Get Post ו Cookies....
ואם אני יוסיף עליו addslashes זה יגרום כנראה
לבעיה, כי אז מחרוזת כזאת
O'reilly, אחרי ההברחה ע"י magic_quotes_gpc,
תראה כך O'reilly, אך אם אני אוסיף ואפעיל גם את addslashes
תראה המחרוזת כך
O\'reilly, וכשאני אכניס למסד הנתונים זה יכנס כך O'reilly, וזה כבר לא טוב,
אז מצד אחד, אם magic_qu... פעיל, אז אין טעם
להבריח תווים, מהנתונים המתקבלים מ Get Post ועוגיות,
אך מצד שני, אני לא יודע אם ניתן לסמוך על magic_..
ואם פתאום יכבו את האופציה הזאת בשרת, אז אני צריך להסתמך על addslashes, וזה כבר סיבך אותי,
איני יודע מתי להשתמש בזה ומתי בהוא, מתי זה באמת נצרך, ומתי זה יזיק.

ולשאלה השנייה, האם ב mysql יש דרך להעתיק
מסד נתונים שלם משרת אחד לאחר?, עם אקסס למשל
זאת לא הייתה בעיה כי מדובר בקובץ, אך mysql
אינו קובץ, וכיצד ניתן להעביר אותו אם ניתן...

סוג השדה tinyint - בעיה 03-12-03 20:01
 ניר
#772

לא פעם ראיתי באפליקציות php שעובדות עם mysql,
ביצירת הטבלאות לאפליקציה את השדה הזה tinyint(4)

הבעיה היא לגבי ה 4, הרי בשאר השדותת הערך שבא בתוך הסוגריים הוא אורך השדה
ומכיוון ש tinyint מייצג ערכים בין -127 ל 128,
הגיוני שהערך המקסימלי שיכול להיות בין הסוגריים יהיה 3, אז מה אומר tinyint(4)?

אשמח לקבל תשובה.. :)

TINYINT(4) 03-12-03 20:02
 אלי חן (מנהל)
#776

הסוג TINYINT קובע את סוג השדה וגודלו. שדה זה אכן מייצג מספרים בין -127 לבין 128 (או בין 0 ל 255 אם unsigned).
ה 4 בסוגריים קובע את אורך השדה (לא גודלו). אם תשתמש ב zerofill אז המספרים יוחזרו עם 0 מובילים וה 4 קובע מה יהיה אורך המספר, אז אם תכתוב 3 יוחזר 0003. טווח המספרים לא יכול להשתנות, הוא נקבע לפי הסוג.

שמעתי שצריך 04-12-03 04:02
 מעין
#783

איזה תוכנה מיוחדת כדי להתקין mysql
אפשר לינק אלייה (ישירות אלייה לא לאתר שממנו מורידים)

התקנת MySQL 04-12-03 04:02
 אלי חן (מנהל)
#795

לא צריך שום תוכנה מיוחדת להתקנת MySQL.. הכל נמצא באתר הבית של MySQL תחת downloads, רק תבחרי את תוכנת ההתקנה המתאימה למערכת ההפעלה שלך.

שאלת השוואה בין מיי אס קיו אל לבין מיקרוסופט 04-12-03 08:01
 גבריאל דעבול
#814

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

תבינו הבעיה שלי היא ככה: אני למשל רוצה להעתיק את שדה הנתונים שלי לאתר שלי בשרת אחר
איזה קבצים אני אמור להעתיק/להעלות לשם? מה אני עושה?

קבצים ב MySQL 04-12-03 11:00
 אלי חן (מנהל)
#823

בטח של MySQL יש קבצים.. אבל הם נשמרים תחת ספריה ש MySQL מגדירה (בדר"כ בספריה data תחת הספריה בה מותקנת MySQL בווינדוס)..
אין לך גישה אל קבצי ה MySQL האלה על שרת אחר, ולכן העברת הנתונים לא מתבצעת ע"י העתקת קבצים.
עליך להשתמש ב mysqldump (נמצא תחת ספריה bin של MySQL) ותפקידה הוא ליצור קובץ SQL שבונה את בסיסי הנתונים והטבלאות.. (כתוב mysqldump --help כדי לקבל עזרה רחבה על השימוש בכלי זה).

OleDB 07-12-03 10:00
 מאור
#982

אין אפשר להתחבר באמצעות connection string?

איך אני מתחבר למסד נתונים שהוא לא MySQL?

שאלה 02-11-03 23:02
 SoOmSoOm
#1338

איך עושים שאני עושה ID במס נתונים איך אני עושה שהוק יקבע אוטומטית את המספר?

עברית בmysql 02-12-04 06:01
 oorva
#1424

אז ככה
מערכת הפעלה - winxp sp2
שרת - uniform server 3.1.1
שכולל בתוכו - Apache 2.0.50 (Win32) PHP5.0.0 , phpmyadmin 2.6.0 beta2
mysql 4.0.20a
ב mysql יש את הסטים הבאים
character set : latin1
character sets: latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
הבעייה היא שכשממלא בתוך אחד השדות (phpmyadmin) תווים בעברית ושומר התוצר המוגמר הוא משהו כזה (#&1514 וכו שזה בעצם היוניקוד של התו?)
אני חושב על שני פתרונות אפשריים
הגדרת העברית כשפת ברירת מחדל או שאני עושה משהו לא בסדר ולא יודע מהו
בכל מקרה לגבי שני הפתרונות אין לי מושג איך ומה עושים

SQL 06-12-04 17:01
 עומר גרין
#1660

איך אני מתקין את הMySQL?

MYSQL 06-12-04 17:02
 עומר גרין
#1661

איך אני מפעיל את קובץ הASC?

חיבור לmysql 04-12-06 09:01
 מיכאל מזוז
#2674

אני מתחיל ללמוד עכשיו PHP בעבר ידעתי ASP לפני שהתגייסתי עכשיו שאלה לי אליך מנהל האתר אם תוכל לעלות לי קובת הכי פשוט של מסד נתונים עם ID מספר סידורי name טקסט נגיד ועוד איזה משהו ואז התחברות פשוטה וקראיה של הנתונים תודה מראש.
כמו כן ניסיתי לעשות זאת ולא הצלחתי ..


לדף הקודםשימוש ב-MySQL -הקודם
לתחילת הדףלתחילת הדף
הבא- התחברות ל-MySQLלדף הבא