Forum und email

mysql_query

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_query — שלח שאילתת MySQ

תיאור

משאב mysql_query ( מחרוזת $שאילתא [, משאב $מזהה_קישור ] )

mysql_query() שולחת שאילתא אל מסד הנתונים הפעיל כרגע ששייך למזהה הקישור. אם מזהה_קישור אינני מצויין, ההנחה היא שהבקשה מתייחסת לקישור האחרון שנפתח. אם אין אף קישור פתוח, הפונקציה תנצה ליצור קישור, כאילו הפונקציה mysql_connect() נקראה ללא פרמטרים, ולהשתמש בו. תוצאת השאילתא נשמרת בחוצץ (buffer).

Note: על מחרוזת השאילתא לא להסתיים עם נקודה פסיק.

רק עבור שאילתות SELECT,SHOW,EXPLAIN ו DESCRIBE, הפונקציה mysql_query() תחזיר מזהה משאב או FALSE אם השאילתא לא בוצעה באופן נכון. עבור סוגי שאילתות SQL אחרים, הפונקציה mysql_query() תחזיר TRUE בהצלחה ו FALSE בכשלון. ערך שאינו FALSE משמעו שהשאילתא הייתה חוקית ויכלה להתבצע על ידי השרת. אין שום אינדיקציה לגבי מספר השורות שהושפעו או הוחזרו. זה יהיה דבר רגיל לחלוטין ששאילתא תצליח אבל לא תשפיע על אף שורה ולא תחזיר אף שורה.

השאילתא הבאה שגוייה תחבירית, אז הפונקציה mysql_query() תיכשל ותחזיר FALSE:

Example#1 mysql_query()

<php
$result = mysql_query("SELECT * WHERE 1=1")
    or die("שאילתא שגוייה: " . mysql_error());
?>

השאילתא הבאה שגוייה סמנטית אם my_col הוא לא טור בטבלה my_tbl, כך ש mysql_query() תיכשל ותחזיר FALSE:

Example#2 mysql_query()

<?php
$result 
mysql_query("SELECT my_col FROM my_tbl")
    or die(
"שאילתא שגוייה: " mysql_error());
?>

mysql_query() גם תיכשל ותחזיר FALSE אם אין לכם הרשאה לגשת אל הטבלה(אות) שהשאילתא מתייחסת אליהן.

בהנחה שהשאילתא מצליחה, אתם יכולים לקרוא לפונקציה mysql_num_rows() כדי לגלות כמה שורות הוחזרו עבור שאילתת SELECT, או לחילופין לקרוא לפונקציה mysql_affected_rows() כדי לגלות כמה שורות הושפעו על ידי שאילתת DELETE, INSERT, REPLACE, או UPDATE.

רק עבור שאילתות SELECT, SHOW, DESCRIBE ו EXPLAIN, הפונקציה mysql_query() תחזיר מזהה תוצאה חדש שאותו תוכלו להעביר אל הפונקציה mysql_fetch_array() ואל פונקציות אחרות שעוסקות בטבלאות תוצאה. כאשר אתם מסיימים לעבור עם סט תוצאה, אתם יכולים לשחרר את המשאבים המשוייכים אל הסט על ידי קריאה לפונקציה mysql_free_result(). בכל אופן, הזיכרון ישוחרר אוטומטית בסוף זמן ריצת הסקריםט.

ראה גם: mysql_num_rows(), mysql_affected_rows(), mysql_unbuffered_query(), mysql_free_result(), mysql_fetch_array(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_result(), mysql_select_db(), ו mysql_connect().