Forum und email

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

mysql_fetch_assoc — משיכת שורת תוצאה כמערך אסוציאטיבי

תיאור

מערך mysql_fetch_assoc ( משאב $תוצאה )

מחזירה מערך אסוציאטיבי מהשורה הנמשכת, או FALSE אם אין יותר שורות

mysql_fetch_assoc() הינה זהה לקריאה ל mysql_fetch_array() עם MYSQL_ASSOC בתור הפרמטר האופציונלי השני. היא מחזירה רק מערך אסוציאטיבי. זוהי הדרך שבה mysql_fetch_array() פעלה במקור. אם אתם צריכים גם את האינדקס המספרי וגם את האסוציאטיבי של המערך, עליכם להשתמש בפונקציה mysql_fetch_array().

אם שניים או יותר מהטורים של התוצאה הם בעלי אותו שם שדה, הטור האחרון הוא זה שיקבל עדיפות. כדי לגשת אל הטור(ים) האחר(ים) עם אותו השם, עליכם לגשת אל התוצאה עם אינדקס מספרי, או להוסיף שם alias. ראו את הדוגמא בפונקציה mysql_fetch_array() עבור תיאור לגבי שמות alias.

דבר חשוב שיש לציין הוא ששימוש ב mysql_fetch_assoc() אינו איטי משמעותית משימוש ב mysql_fetch_row(), ובאותו הזמן מוסיף ערך משמעותי.

Note: שמות השדות המוחזרים ע"י פונקציה זאת הם רגישים לגודל האותיות

Example#1 דוגמא מורחבת של mysql_fetch_assoc()

<?php

    $conn 
mysql_connect("localhost""mysql_user""mysql_password");
    
    if (!
$conn) {
        echo 
"כשלון בחיבור למסד הנתונים: " mysql_error();
        exit;
    }
    
    if (!
mysql_select_db("mydbname")) {
        echo 
"כשלון בבחירת מסד הנתונים: " mysql_error();
        exit;
    }
    
    
$sql "SELECT id as userid, fullname, userstatus 
            FROM   sometable
            WHERE  userstatus = 1"
;

    
$result mysql_query($sql);

    if (!
$result) {
        echo 
"כשלון בהרצת השאילתא ($sql) ממסד הנתונים: " mysql_error();
        exit;
    }
    
    if (
mysql_num_rows($result) == 0) {
        echo 
"לא נמצאו שורות, אין מה להדפיס, ולכן תהיה יציאה אוטומטית מהפונקציה";
        exit;
    }
    
    
// כל עוד שורה נוספת של מידע קיימת, הכנס אותה ב $row כמערך אסוציאטיבי
    // הערה: אם אתם מצפים רק לשורה אחת, אין צורך להשתמש בלולאה
    // הערה: אם תשתמשו ב extract($row); בתוך הלולאה הבאה, אתם תיצרו את
    // $userid, $fullname ואת $userstatus
    
while ($row mysql_fetch_assoc($result)) {
        echo 
$row["userid"];
        echo 
$row["fullname"];
        echo 
$row["userstatus"];
    }
        
    
mysql_free_result($result);

?>

ראה גם mysql_fetch_row(), mysql_fetch_array(), mysql_query(), ו mysql_error().