פונקציות MySQL
הקדמה
פונקציות אלו מאפשרות לך לגשת אל שרתי מסד נתונים מסוג MySQL. עוד מידע אודות MySQL אפשר למצוא בכתובת » https://www.mysql.com/.
תיעוד עבור MySQL ניתן למצוא ב » https://dev.mysql.com/doc/.
דרישות
על מנת שפונקציות אלו יהיו זמינות, עלייך לקמפל את PHP עם תמיכה ב MySQL.
התקנה
על ידי שימוש באפשרות הקונפיגורציה --with-mysql[=DIR] הנך מאפשר ל PHP לגשת למסדי נתונים של MySQL. אם אתה משתמש באפשרות זאת מבלי לציין את הנתיב ל MySQL, PHP תשתמש בספריות הלקוח שמצורפות ל PHP. החל מגירסא 4 של PHP, --with-mysql מאופשר בברירת מחדל, כך שאם ברצונך לבטל את התמיכה ב MySQL, אתה חייב להשתמש ב --without-mysql. משתמשים שמריצים אפליקציות אחרות שמשתמשות ב MySQL (לדוגמא, הרצה של PHP גירסא 3 וגירסא 4 בו זמנית כמודולים של אפאצ'י, או שימוש ב auth-mysql) חייבים תמיד לציין את הנתיב של MySQL במקום DIR: --with-mysql=/path/to/mysql. פרמטר זה יכריח את PHP להשתמש בספריות הלקוח שהותקנו על ידי MySQL, ובכך למנוע קונפליקטים.
גרסת ה- Windows של PHP נבנתה לתמיכה בתוספת זאת. אתה לא צריך לטעון שום תוספת נוספת על מנת להשתמש בפונקציות אלה.
התרסקויות ובעיות בהפעלה של PHP עלולות להתרחש כשטוענים תוספת זו יחד עם התוספת recode. ראה את התוספת recode עבור מידע נוסף.
הגדרות הרצה
ההתנהגות של פונקציות אלה מושפעות ע"י ההגדרות בתוך php.ini.
שם | ברירת מחדל | בר שינוי |
---|---|---|
mysql.allow_persistent | "On" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
הנה הסבר קצר על הנחיות ההגדרה.
- mysql.allow_persistent בוליאני
-
האם לאפשר קישורים רציפים אל MySQL.
- mysql.max_persistent ערך שלם
-
המספר המקסימלי של קישורים רציפים ל MySQL עבור תהליך (process)
- mysql.max_links ערך שלם
-
המספר המקסימלי של קישורים ל MySQL עבור תהליך (process) כולל קישורים רציפים
- mysql.default_port מחרוזת
-
ברירת המחדל של מספר פורט ה TCP שבו יש להשתמש כאשר מתחברים ל MySQL ולא מציינים לאיזה פורט להתחבר. אם לא מציינים אף ברירת מחדל, הערך יילקח ממשתנה הסביבה MYSQL_TCP_PORT, מהערך mysql-tcp בקובץ /etc/services או מקבוע זמן ההידור MYSQL_PORT, על פי סדר זה. מהדורת חלונות תשתמש רק בקבוע MYSQL_PORT.
- mysql.default_socket מחרוזת
-
שם ה socket שבו יש להשתמש כשמתחברים אל שרת מסד נתונים מקומי, אם לא צויין אף שם socket אחר.
- mysql.default_host מחרוזת
-
שרת ברירת המחדל שאליו יש להתחבר כשמתחברים למסד נתונים ולא מצייינים אף כתובת של שרת. פרמטר זה אינו תקף כש PHP במצב safe mode.
- mysql.default_user מחרוזת
-
משתמש ברירת המחדל שבו יש להשתמש כשמתחברים אל שרת מסד נתונים ולא צויין שם משתמש. פרמטר זה אינו תקף כש PHP במצב safe mode.
- mysql.default_password מחרוזת
-
סיסמת ברירת המחדל שבה יש להשתמש כדי להתחבר לשרת מסד הנתונים אם לא צויינה סיסמא. פרמטר זה אינו תקף כש PHP במצב safe mode.
- mysql.connect_timeout ערך שלם
-
זמן המתנה מקסימלי בשניות לחיבור. בלינוקס, זמן זה גם משמש עבור ההמתנה לקבלת התשובה הראשונה מהשרת.
סוגי משאבים
ישנם שני סוגי משאבים שתוספת ה MySQL משתמשת בהם. האחד הוא מזהה הקישור של חיבור למסד הנתונים, והשני הוא משאב שמחזיק תוצאה של שאילתא למסד הנתונים.
קבועים מוגדרים מראש
הקבועים להלן מוגדרים ע"י תוספת זאת, ויהיו זמינים רק כאשר תוספת זאת או מוקמפלת לתוך PHP או טעונה באופן דינמי בזמן הרצה.
החל מגירסא 4.3.0 של PHP, אפשר לציין דגלי-לקוח נוספים עבור הפונקציה mysql_connect() והפונקציה mysql_pconnect() הקבועים הבאים מוגדרים:
קבוע | תיאור |
---|---|
MYSQL_CLIENT_COMPRESS | השתמש בפרוטוקול דחיסה |
MYSQL_CLIENT_IGNORE_SPACE | אפשר רווחים אחרי שמות פונקציה |
MYSQL_CLIENT_INTERACTIVE | הרשה interactive_timeout שניות (במקום wait_timeout) של אי פעילות, לפני סגירת החיבור. |
הפונקציה mysql_fetch_array() משתמשת בקבועים שונים עבור סוגי התוצאות השונות. הקבועים הבאים מוגדרים:
קבוע | תיאור |
---|---|
MYSQL_ASSOC | הטורים מוחזרים למערך שמכיל את שם השדה בתור אינדקס המערך. |
MYSQL_BOTH | הטורים מוחזרים למערך שמכיל את שם השדה וגם את האינדקס המספרי בתור אינדקס המערך. |
MYSQL_NUM | הטורים מוחזרים למערך שמכיל את האינדקס המספרי לשדות. האינדקס מתחיל ב-0, השדה הראשון בתוצאה. |
דוגמאות
דוגמא פשוטה זו מראה לך איך להתחבר, לבצע שאילתא, להדפיס את שורות התוצאה, ולהתנתק ממסד נתונים של MySQL.
Example#1 דוגמה כללית לתוספת ה MySQL
<?php
/* התחברות, ובחירת מסד נתונים */
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
or die("כשלון בהתחברות");
print "ההתחברות הצליחה.";
mysql_select_db("my_database") or die("כשלון בבחירת מסד נתונים.");
/* ביצוע שאילתת SQL */
$query = "SELECT * FROM my_table";
$result = mysql_query($query) or die("השאילתא נכשלה.");
/* הדפס תוצאות ב HTML */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
/* שחרור סט התוצאה */
mysql_free_result($result);
/* סגירת החיבור */
mysql_close($link);
?>
Table of Contents
- mysql_affected_rows — מחזיר את מספר השורות שהושפעו בפעולת ה MySQL האחרונה
- mysql_change_user — שינוי המשתמש הפעיל בחיבור קיים
- mysql_client_encoding — מחזיר את שם הקידוד
- mysql_close — סגור קישור MySQL
- mysql_connect — פותח חיבור אל שרת MySQL
- mysql_create_db — צור מסד נתונים של MySQL
- mysql_data_seek — הזז מצביע תוצאה פנימי
- mysql_db_name — קבל מידע תוצאה
- mysql_db_query — שלח שאילתת MySQL
- mysql_drop_db — זרוק (מחק) מסד נתונים של MySQL
- mysql_errno — מחזירה את הערך המספרי של הודעת השגיאה מפעולת ה MySQL האחרונה
- mysql_error — מחזירה את טקסט השגיאה האחרונה מפעולת ה MySQL האחרונה
- mysql_escape_string — מבצע פעולת escape על מחרוזת לשימוש בתוך mysql_query.
- mysql_fetch_array — מציב שורת תוצאה כמערך אסוציאטיבי, מערך מספרי, או שניהם.
- mysql_fetch_assoc — משיכת שורת תוצאה כמערך אסוציאטיבי
- mysql_fetch_field — קבל מידע על טור מתוצאה והחזר כאובייקט
- mysql_fetch_lengths — Get the length of each output in a result
- mysql_fetch_object — Fetch a result row as an object
- mysql_fetch_row — Get a result row as an enumerated array
- mysql_field_flags — Get the flags associated with the specified field in a result
- mysql_field_len — Returns the length of the specified field
- mysql_field_name — Get the name of the specified field in a result
- mysql_field_seek — Set result pointer to a specified field offset
- mysql_field_table — Get name of the table the specified field is in
- mysql_field_type — Get the type of the specified field in a result
- mysql_free_result — Free result memory
- mysql_get_client_info — Get MySQL client info
- mysql_get_host_info — Get MySQL host info
- mysql_get_proto_info — Get MySQL protocol info
- mysql_get_server_info — Get MySQL server info
- mysql_info — קבלת מידע אודות השאילתא האחרונה
- mysql_insert_id — Get the ID generated from the previous INSERT operation
- mysql_list_dbs — List databases available on a MySQL server
- mysql_list_fields — List MySQL table fields
- mysql_list_processes — List MySQL processes
- mysql_list_tables — List tables in a MySQL database
- mysql_num_fields — Get number of fields in result
- mysql_num_rows — Get number of rows in result
- mysql_pconnect — פותחת חיבור עקבי לשרת MySQL
- mysql_ping — מבצע פינג אל שרת מקושר, או מתחבר מחדש אם אין קישור
- mysql_query — שלח שאילתת MySQ
- mysql_real_escape_string — Escapes special characters in a string for use in a SQL statement
- mysql_result — Get result data
- mysql_select_db — בחירת מאגר MySQL
- mysql_set_charset — Sets the client character set
- mysql_stat — Get current system status
- mysql_tablename — Get table name of field
- mysql_thread_id — Return the current thread ID
- mysql_unbuffered_query — Send an SQL query to MySQL, without fetching and buffering the result rows