Forum und email

mysql_fetch_array

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

mysql_fetch_array — מציב שורת תוצאה כמערך אסוציאטיבי, מערך מספרי, או שניהם.

תיאור

מערך mysql_fetch_array ( משאב $תוצאה [, ערך שלם $ סוג_תוצאה ] )

מחזירה מערך שתואם לשורה שנמשכה, או FALSE אם אין יותר שורות.

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

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

Example#1 שאילתא עם שמות שדות כפולים

select table1.field as foo, table2.field as bar from table1, table2

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

הפרמטר השני האופציונלי סוג_תוצאה בפונקציה mysql_fetch_array() הוא קבוע ויכול להיות אחד מהערכים הבאים: MYSQL_ASSOC, MYSQL_NUM ו MYSQL_BOTH. יכולת זו נוספה ב PHP 3.0.7, ובהיעדר הפרמטר, יחשב הדבר כאילו הפרמטר הוא MYSQL_BOTH.

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

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

Example#2 mysql_fetch_array עם MYSQL_NUM

<?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"כשלון בחיבור: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_NUM)) {
        
printf ("מזהה: %s  שם: %s"$row[0], $row[1]);  
    }

    
mysql_free_result($result);
?>

Example#3 mysql_fetch_array עם MYSQL_ASSOC

<?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"כשלון בחיבור: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_ASSOC)) {
        
printf ("מזהה: %s  שם: %s"$row["id"], $row["name"]);
    }

    
mysql_free_result($result);
?>

Example#4 mysql_fetch_array עם MYSQL_BOTH

<?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"כשלון בחיבור: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_BOTH)) {
        
printf ("מזהה: %s  שם: %s"$row[0], $row["name"]);
    }

    
mysql_free_result($result);
?>

ראה גם: mysql_fetch_row() ו mysql_fetch_assoc().