קבלת תוצאות שאילה בSQL

קבלת תוצאות שאילה בSQL

אני יודע שזה פורום PHP אבל לא מצאתי פורום SQL.... אם אני מריץ אץ הקוד הבא לדוגמא:
$query="SELECT * FROM members WHERE name='$username'"; $result=mysql_query($query);​
אבל אין שום תוצאה שמתאימה לחיפוש, איזה ערך מקבל המשתנה result?
 

shanor

New member
מממ...

אז קודם כל יש את פורום בסיסי נתונים או בשמו הפחות ידוע SQL... (אפילו כאן בתפוז). אבל בלי קשר לזה, קודם כל כדי לראות איזה ערך מקבל RESULT, אפשר תמיד לבצע ECHO ולגלות שהוא נותן משהו כמו RESORCE #1 או משהו כזה... Result עצמו אינו מכיל את התוצאה של הטבלה אלא רק את המצביא (POINTER) אל המקום בזיכרון שבו שמורות התוצאות של הטבלה. עכשיו צריך לגשת לאותו מקום ולקחת אותן. אפשר לעשות את זה במגוון דרכים וצורות אבל בשביל זה כדאי לקרא קצת במניואל של PHP על הפקודות Mysql_fetch_array, ושכנותיה בפרק זה. בברכת הצלחה, שנאור.
 
אז השאלה הזאת תהיה

יותר קשורה ל SQL למרות שלא בטוח... איך אני יכול לשים תנאי שפועל רק אם אין תוצאות בחיפוש? או שגם זה בפורום מסד נתונים?
 

shanor

New member
מממ...

אכן קשור עכשיו ל- SQL, וזה הולך ככה: נניח שאתה רוצה לאתר את כל השורות שבהן השדה שנקרא X שווה ל-3. כדי לעשות את זה בדרך כלל תכתוב משהו כזה (ויסלחו לי כולם על ההכללות המטרה היא להשאיר את זה פשוט ומובן):
select * from Table where X=3;​
עכשיו אם אתה רוצה את כל השדות שבהן התוצאות הן אחרות ולא 3, אז אפשר לכתוב:
select * from Table where X!=3;​
אם אתה רוצה את כל המקומות שבהן ל-X אין ערך אפשר לכתוב:
select * from Table where X is null;​
זהו בגדול. יש עוד הרבה אפשרויות לשחק עם זה אבל לדעתי בשביל להבין את העקרון זה מספיק. עכשיו קח את מה שיצא ותעשה עם זה את מה שאתה צריך ב- PHP. מקווה שהייתי ברור מספיק, בברכת הצלחה, שנאור.
 
חחחח

כנראה שלא הייתי ברור את השאילתות אני מבין איך לעשות, השאלה שלי היא אחרת. איך אני יכול לכתוב תנאי ב PHP שמתקיים אם לא קיימת תוצאה לשאילתא משהו כמו בסגנון:
$query="SELECT * FROM table WHERE x=3"; $results=mysql_query($query); if($results==0)​
השורת קוד השלישית לא נכונה, איך אני מתקן אותה שתעבוד אם אין תוצאות לשאילתא? תודה
 

shanor

New member
מממ...

דיי פשוט: קרא במניואל על: mysql_num_rows זה יעזור. בהצלחה, שנאור.
 
למעלה