Open eClass Documentation
You are here: start » el » developers » database

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
el:developers:database [2022/10/26 16:06] – adminel:developers:database [2022/10/26 16:10] (current) – admin
Line 28: Line 28:
 </code> </code>
  
-__Σημείωση__: για το_ ''Database::core()'' _η σύνταξη των_ ''query*...'' _είναι ίδια και δεν έχει καμμία άλλη διαφορά._+__Σημείωση__: για το ''Database::core()'' η σύνταξη των ''query*...'' είναι ίδια και δεν έχει καμμία άλλη διαφορά.
  
 Σε κάθε μία μέθοδο, η πρώτη παράμετρος είναι το επερώτημα SQL που μας ενδιαφέρει να εκτελέσουμε, ακολουθούμενο από μία λίστα με παραμέτρους που θα γίνει εισαγωγή στο επερώτημα. Είναι λάθος πρακτική σε περίπτωση που θέλουμε να εισάγουμε κάποια παράμετρο στο επερώτημα να τη δώσουμε λεκτικά στο επερώτημα αυτό καθ'εαυτό, από το να το δώσουμε σαν επιπρόσθετη παράμετρο. Για να σημειώσουμε στο ίδιο το επερώτημα σε ποιο σημείο είναι η κάθε παράμετρος, χρησιμοποιούμε το σύμβολο «?» ακολουθούμενο από ένα γράμμα που δηλώνει τον τύπο της παραμέτρου. Σε περίπτωση που ως μία παράμετρο δωθεί πίνακας, τότε ο πίνακας θα αναλυθεί στα επιμέρους στοιχεία του με τη σειρά με την οποία εμφανίζονται, ώστε το τελικό αποτέλεσμα των παραμέτρων τελικά να είναι ένας μονοδιάστατος πίνακας, ανεξάρτητα από την επιμέρους δομή των αρχικών παραμέτρων.  Σε κάθε μία μέθοδο, η πρώτη παράμετρος είναι το επερώτημα SQL που μας ενδιαφέρει να εκτελέσουμε, ακολουθούμενο από μία λίστα με παραμέτρους που θα γίνει εισαγωγή στο επερώτημα. Είναι λάθος πρακτική σε περίπτωση που θέλουμε να εισάγουμε κάποια παράμετρο στο επερώτημα να τη δώσουμε λεκτικά στο επερώτημα αυτό καθ'εαυτό, από το να το δώσουμε σαν επιπρόσθετη παράμετρο. Για να σημειώσουμε στο ίδιο το επερώτημα σε ποιο σημείο είναι η κάθε παράμετρος, χρησιμοποιούμε το σύμβολο «?» ακολουθούμενο από ένα γράμμα που δηλώνει τον τύπο της παραμέτρου. Σε περίπτωση που ως μία παράμετρο δωθεί πίνακας, τότε ο πίνακας θα αναλυθεί στα επιμέρους στοιχεία του με τη σειρά με την οποία εμφανίζονται, ώστε το τελικό αποτέλεσμα των παραμέτρων τελικά να είναι ένας μονοδιάστατος πίνακας, ανεξάρτητα από την επιμέρους δομή των αρχικών παραμέτρων. 
Line 96: Line 96:
 ---- ----
  
-=== Μέθοδος @queryArray($statement) ===+=== Μέθοδος queryArray($statement) ===
  
 Αυτή η μέθοδος εκτελείται όταν περιμένουμε από το επερώτημα να επιστρέψει περισσότερο από ένα στοιχείο (ή γραμμή) και θέλουμε να πάρουμε αμέσως όλα τα αντικείμενα σε έναν πίνακα. Η μέθοδος αυτή μπορεί να χρησιμοποιηθεί σε περίπτωση που περιμένουμε τα αποτελέσματα να είναι λίγα στον αριθμό. Σε περίπτωση που είναι αρκετά, **είναι προτιμότερη η χρήση της μεθόδου ''queryFunc''**. Αυτή η μέθοδος εκτελείται όταν περιμένουμε από το επερώτημα να επιστρέψει περισσότερο από ένα στοιχείο (ή γραμμή) και θέλουμε να πάρουμε αμέσως όλα τα αντικείμενα σε έναν πίνακα. Η μέθοδος αυτή μπορεί να χρησιμοποιηθεί σε περίπτωση που περιμένουμε τα αποτελέσματα να είναι λίγα στον αριθμό. Σε περίπτωση που είναι αρκετά, **είναι προτιμότερη η χρήση της μεθόδου ''queryFunc''**.
Line 116: Line 116:
 ---- ----
  
-=== Μέθοδος @queryFunc($statement, $callback_function); ===+=== Μέθοδος queryFunc($statement, $callback_function); ===
  
 Η μέθοδος αυτή αναφέρεται σε επερωτήματα που μπορεί να έχουν πολλά αποτελέσματα, αλλά σε αντίθεση με την ''queryArray'' λαμβάνουμε ένα αποτέλεσμα τη φορά. Αυτή η συνάρτηση είναι ιδανική όταν τα αποτελέσματα που αναμένουμε είναι αρκετά, αλλά είναι εξίσου χρήσιμη σε περίπτωση που περιμένουμε λίγα, ένα ή και καθόλου αποτελέσματα. Η μέθοδος αυτή αναφέρεται σε επερωτήματα που μπορεί να έχουν πολλά αποτελέσματα, αλλά σε αντίθεση με την ''queryArray'' λαμβάνουμε ένα αποτέλεσμα τη φορά. Αυτή η συνάρτηση είναι ιδανική όταν τα αποτελέσματα που αναμένουμε είναι αρκετά, αλλά είναι εξίσου χρήσιμη σε περίπτωση που περιμένουμε λίγα, ένα ή και καθόλου αποτελέσματα.
Line 126: Line 126:
 Ένα απλό παράδειγμα της μεθόδου αυτής είναι το εξής: Ένα απλό παράδειγμα της μεθόδου αυτής είναι το εξής:
 <code> <code>
-DataBase::get()->queryFunc("SELECT title  FROM course_units WHERE course_id = ?d", function($unit) {+DataBase::get()->queryFunc("SELECT title FROM course_units WHERE course_id = ?d", function($unit) {
     echo "title: " . $unit->title;     echo "title: " . $unit->title;
   }, intval($courseId));   }, intval($courseId));
Line 171: Line 171:
  
 Τα πιθανά attribute names είναι τα εξής: Τα πιθανά attribute names είναι τα εξής:
-|_. attribute names | +| //attribute names// | 
-| @autocommit()@  | +| ''autocommit()''  | 
-| @textCase()@  | +| ''textCase()''  | 
-| @clientVersion()@  | +| ''clientVersion()''  | 
-| @connectionStatus()@  | +| ''connectionStatus()''  | 
-| @driverName()@  | +| ''driverName()''  | 
-| @errorMode()@  | +| ''errorMode()''  | 
-| @oracleNulls()@  | +| ''oracleNulls()''  | 
-| @persistent()@  | +| ''persistent()''  | 
-| @prefech()@  | +| ''prefetch()'' | 
-| @serverInfo()@  | +| ''serverInfo()'' | 
-| @serverVersion()@  | +| ''serverVersion()''  | 
-| @timeout()@  |+| ''timeout()''  |
  
Open eClass Documentation

Table of Contents