PHP/מסד הנתונים MySQL: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שורה 35:
במקרה והשאילתה אינה SELECT אלא INSERT, UPDATE או DELETE ניתן כדי לדעת על כמה שורות השפיעה השאילתה להשתמש בפונקציה {{קוד בשורה|mysql_affected_rows()}}. הפונקציה מתייחסת לשאילתה האחרונה בלבד! אם מדובר על שאילתת INSERT ניתן להשתמש בפונקציה {{קוד בשורה|mysql_insert_id()}} שמחזירה את ערך ה-ID של הנתונים שהוכנסו, אם מוגדר שדה כ-AUTO_INCREMENT. גם כאן הפונקציה מתייחסת לשאילתה האחרונה בלבד.
 
ש אוהב ז
===טיפול בשגיאות===
ניתן להשתמש בסימן @ כדי להמנע מהופעה של שגיאות. כלומר גם אם יש שגיאה ואמורה להופיעה הודעת שגיאה - היא לא תופיעה. מבחינה חיצונית הדבר נראה מקצועי יותר, אך בצורה זאת קשה מאוד לעלות על החלק הבעייתי.
 
במקרה שיש בעיה ניתן להשתמש בפונקציה {{קוד בשורה|mysql_error()}}. הפונקציה מחזירה טקסט מסויים של הבעיה או מחרוזת ריקה אם אין בעיה. השיטה הנהוגה לשימוש בפונקציה היא בעזרת הפונקציה {{קוד בשורה|die()}} שמחזירה מחרוזת טקסט כלשהי ואז עוצרת את פעולת הסקריפט. לדוגמה:
<div style="direction:ltr;">
$connection = mysql_connect("username","password") or die(mysql_error());
</div>
 
הסבר: אם החיבור מתבצע בהצלחה, הפונקציה {{קוד בשורה|die()}} לא תבוצע. אם החיבור נכשל מסיבה כלשהי תבוצע הפונקציה {{קוד בשורה|die()}} שתקרא לפונקציה {{קוד בשורה|mysql_error()}} לפני שהיא תפסיק את הרצת הסקריפט. התוצאה במקרה של שגיאה בחיבור תהיה הודעת השגיאה של {{קוד בשורה|mysql_error()}} ואז הסקריפט יעצר, וזאת כדי למנוע הודעות שגיאה נוספות שיווצרו בגלל שאין קישור ל-MySQL.
 
===דוגמה מסכמת===