הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   OOP MYSQLI (https://hosts.co.il/forums/showthread.php?t=86043)

morsrh 02-11-10 15:08

OOP MYSQLI
 
אני דיי חדש בנושא של OOP ו- MYSQLI ונתקלתי בבעיה שאין לי מושג מה היא רוצה.
אז זה הקוד :
PHP קוד:

class conns
{
     var 
$conn;
     var 
$result;
     var 
$data;
    function 
con()
    {
        
$conn = new mysqli("localhost""morsela""morsela""morsela");
        if (
mysqli_connect_errno())
        { 
            echo(
"Failed to connect, Error: " mysqli_connect_error()); 
            exit(); 
        }
    }
    function 
Sel()
    {
        
$result $conn->query("SELECT * FROM tests");
        while (
$data $result->fetch_object())
            echo 
$data->t2 ":" $data->t1 "'n";
    }
}

$newmember = new conns();
$newmember->con();
$newmember->Sel(); 

והבעיה היא :Fatal error: Call to a member function query() on a non-object
יש לי טבלה מוכנה בשם tests עם עמודות בשם t1 t2 t3 ויש בהם ערכים.
השגיאה מצביעה על השורה שמעל ה WHILE.
אז , מהי הבעיה?
תודה.

Shay Ben Moshe 02-11-10 15:14

בתוך המתודות con וSel, פנית למשתנה הפנימי $conn, אתה צריך לפנות למשתנה של המחלקה $this->conn.

מעבר לזה, הקוד שלך הוא מתאים לPHP4, תעבוד עם PHP5. אני ממליץ לך לקרוא בphp.net באנגלית ולקרוא אצלי בבלוג בעברית.
ההסבר בphp.net הוא ממש מצויין, הם מכסים את הOOP מבחינת קוד מכל כיוון. מצד שני הם לא מתעסקים בעקרונות שעליהם מושתת התכנות מונחה עצמים, שבזה יותר נגעתי.
מציע לך לקרוא קודם אצלי (שלי די קצר ביחס לשלהם) ואז את כל המדריך שלהם.

morsrh 02-11-10 15:21

תודה רבה , בדיוק בלוג כמו שלך חיפשתי בזמן האחרון ולא מצאתי.
ותודה על התיקון.


כל הזמנים הם GMT +2. הזמן כעת הוא 13:53.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ