23-02-2006, 14:30
|
|
|
חבר מתאריך: 06.02.05
הודעות: 560
|
|
שלום תראו מצאתי במדריך משהו ואני צריך כמה עזרות בבקשה
קוד PHP:
[b]עבודה עם MySQL חלק א'.[/b]
שלום לכולם ובורכים הבאים. במדריך הבא תלמדו כיצד לעבוד מול מסד נתונים מסוג MySQL.
לפני המדריך אנא וודאו כי: א. יצרתם מסד נתונים ויש לכם את שמו, שם המשתמש והסיסמא אליו. ב. יש ברשותכם גישה ל-PhpMyAdmin שמותקן על השרת. (בררו עם מנהל השרת שהינכם משתמש בו.) ג. קראתם את כל המדריכים שמופיעים באתר לפני המדריך הזה, אחרת יהיה לכם קשה להבין מה הולך כאן.
אז קדימה, לעבודה.
את שם מסד הנתונים נסמן בשם: db_name את שם המשתמש למסד הנתונים נסמן בשם: db_user את הסיסמא למסד הנתונים נסמן בשם: db_pass
ראשית עלינו להתחבר למסד הנתונים אשר יצרנו.
אנו נתחבר למסד הנתונים בעזרת שתי פונקצית, א. mysql_connect ב. mysql_select_db
להלן קוד דוגמא להתחברות למסד הנתונים:
<?php mysql_connect("localhost","db_user","db_pass") or die("Error while trying to connect DB."); mysql_select_db("db_name") or die("Error while selecting DB."); ?>כמו כן, localhost מסמן עברנו היכן נמצא מסד הנתונים שלנו. ברוב המקרים המסד נמצא בשרת שאנו עובדים, ולכן נכתוב "localhost". אם אינכם מצליחים להתחבר למסד הנתונים ואתם מקבלים אחת מהשגיאות המפורטות בקוד אנא פנו לתומך בחברת האיחסון שהינכם נמצאים בה לקבל הפרטים הנכונים.
הקוד הנ"ל מאוד פשוט. אנו ניסינו להתחבר למסד הנתונים. במקרה של הצלחה לא יקרה כלום; אך במקרה של כשלון, תוצג על המסך אחת מההודעות השגיאה שנכתבו.
השתמשו בפונקציה mysql_connect על-מנת להתחבר למסד הנתונים באמצעות שם המשתמש והסיסמא. לאחר מכן השתמש בפונקציה mysql_select_db על-מנת לבחור במסד הנתונים הרצוי.
כמו כן, שתי הפוקנציות מחזירות לנו ערך 1 כאשר הפעולה התבצעה בהצלחה ואת הערך 0 כאשר הפעולה נכשלה.
לכן, ניתן לכתוב את הקוד גם ככה:
<?php if(!mysql_connect("localhost","db_user","db_pass")) { echo "Error while trying to connect."; } if(!mysql_select_db("db_name")) { echo "Error while trying to select DB."; } ?>בנוסף, נוכל להציב לפני שתי הפונקציה את הסימן @, וכדאי שנוסיף אם אנו כותבים בודקים האם ישנה הודעת שגיאה. הסימן @ ימנע מהפונקציה להדפיס לפלט את השגיאה, ואנו נעשה את זה בשבילה. נוכל לשים את הסימן @ לפני הפונקציה, ואז להדפיס שגיאה מעוצבת נורמלי ולא סתם קוד שהמשתמש במערכת לא יבין מה לא בסדר.
בקיצור, בואו נמשיך לפונקציות הבאות.
על-מנת להמשיך אנו צרו טבלה במסד הנתונים בשם "Topics" עם התאים: id - תא מסוג INT, אורך 7, מפתח ראשי ובתכונות מיוחדות AUTO_INCREMENT.
המפתח הראשי יעזור לנו בכך שימנע שהמספר יופיע פעמיים בין השורות. בעברית - שלא יהיה את אותו ה-ID לשתי שורות שונות ואז לא נוכל לזהות שורה.
הAUTO_INCREMENT ידאג לכך שבכל שורה שנוסיף ה-ID יגדל ב-1. כמו כן, לנו לא יהיה צורך בלחשב את המספר הבא. MySQL יעשה את זה בשבילנו :)
title - תא מסוג VarChar, אורך 255
text - תא מסוג LongText.
צרו את הטבלה.
הכניסו את השורה הבאה: id - השאירו ריק, הוא יתמלא לבד. title - כותרת ניסיון, GuideMaster text - תוכן ניסיון<br /> בלה בלה. GuideMaster.
התא ID ישמש אותנו על-מנת להזות כל אחת מהשורות במסד הנתונים. התא title ישמור בתוכו את כותרת הנושא ואילו התא Text ישמש אותנו על-מנת לשמור את תוכן ההודעה.
אז קדימה, בואו נדפיס לפלט את הנתונים שהכנסו.
על-מנת לשאוב את הנתונים הנ"ל נשתמש בשאלתיה.
את השאלתיה נריץ באמצעות הפונקציה: mysql_query();
בתוך הפונקציה mysql_query(); אנו יכולים לכתוב כל שאלתיה ב-SQL שמתאימה למסד שלנו - MySQL.
SQL הינה שפה שלמה, ובאתר תלמדו רק חלקים ממנה.
לדעתי החלקים שיכתבו באתר יספיקו לכם.
השאלתיה שנשתמש על-מנת לקרוא מידע ממסד הנתונים הינה:
SELECT * FROM tbl_name WHERE id=id_numבמקום tbl_name נרשום את שם הטבלה, ובמקום id_num נרשום את הID של השורה שברצוננו לקרוא. הכוכבית (*) מסמנת לנו את התאים שברצוננו לקרוא. הכוכבית מסמנת את כל התאים בטבלה, אבל ניתן גם לרשום את שמם אם אנו לא רוצים למשל לקרוא גם את הסיסמא בטבלת משתמשים, על-מנת לשמור על אבטחה גבוהה.
דוגמא לשאלתיה שקרואת את התאים: username ו-age.
SELECT username,age FROM tbl_name לא חובה לציין בשאלתיה WHERE id=id_num מכיוון שיש לנו שורה אחת בטבלה.
אז קדימה, לעבודה:
<?php @mysql_connect("localhost","db_user","db_pass"); @mysql_select_db("db_name") or die("Error.");
$query = mysql_query("SELECT * FROM Topics WHERE id=1"); $arr = mysql_fetch_array($query); echo $arr["title"]."<br />".nl2br($arr["text"]); ?> אל תבהלו, ההסבר מגיע.
השאלתיה כבר מוסברת, ואין כאן הרבה מקום להסביר שנית.
לאחר שהכנסו את השאלתיה לתוך המשתנה $query, אנו נשתמש בפונקציה mysql_fetch_array על-מנת להכניס את הערכים שקיבלנו לתוך מערך.
לאחר מכן יתקבל לנו מערך שהאינדקסים שלו הם התאים בטבלה והערכים הינם הערכים השומרים בתאים.
לאחר מכן הדפסנו את הערכים לפלט.
לדוגמא, הדפסנו את הערך ששמור לתא בתא "title" בשורה שלנו:
$arr["title"]
עד לכאן בחלק א'.
אנו עיינו לחלק ב' על-מנת להשלים את ההליך וללמוד לקרוא מספר שורות ממסד הנתונים בעזרת לולאת ה-WHILE.
עכשיו יש שם חלק שרשום לעשות טבלה איך אני עושה מישהו יכול להסביר לי את החלק הזה?
וגם יש את הקוד הזה
קוד PHP:
להלן קוד דוגמא להתחברות למסד הנתונים:
<?php mysql_connect("localhost","db_user","db_pass") or die("Error while trying to connect DB."); mysql_select_db("db_name") or die("Error while selecting DB."); ?>כמו כן, localhost מסמן עברנו היכן נמצא מסד הנתונים שלנו. ברוב המקרים המסד נמצא בשרת שאנו עובדים, ולכן נכתוב "localhost". אם אינכם מצליחים להתחבר למסד הנתונים ואתם מקבלים אחת מהשגיאות המפורטות בקוד אנא פנו לתומך בחברת האיחסון שהינכם נמצאים בה לקבל הפרטים הנכונים.
יש לי חשבון בליקוס ואין בו סיסמה מישהו יכול להגיד לי מה צריך לירשום?
תודה לגברים שיעזרו לי
|