Υποστήριξη
Hosting

Πως συνδέομαι με την βάση μου μέσω PHP?

Η γλώσσα προγραμματισμού PHP (Personal Home Pages) ξεκίνησε αρχικά σαν μια scripting γλώσσα, με την εξέλιξη όμως του διαδικτύου και το πέρασμα των ετών έχει μετεξελιχθεί σε μία πλήρη προδιαγραφών (Full Stack) γλώσσα με βασικό της άξονα εξέλιξης την αντικειμενοστρέφεια (Object Oriented).

Άμεσες είναι οι συνέπειες του αντικειμενοστραφούς προγραμματισμού σε όλες τις διεπαφές που δημιουργεί η γλώσσα με συνεργαζόμενες υπηρεσίες όπως η MySQL. Κατά συνέπεια έχουμε την εμφάνιση της PDO (PHP Data Objects) διεπαφής για την MySQL και φυσικά της ήδη παλιάς διεπαφής MySQLi που είναι επίσης object oriented, υποστηρίζει όμως και παλαιού - διαδικασιακού (procedural) τύπου συνδέσεις . Η υποστήριξη της παλαιοτέρου τύπου διεπαφής (απλό MySQL connection) έχει πάψει από το 2012, οπότε συνιστούμε τη χρήση των πιο νέων προτύπων MySQLi και PDO.


Σύκγριση PDO με MySQLi

Η βιβλιοθήκη PDO είναι αμιγώς αντικειμενοστραφής και επειδή το μέλλον της PHP είναι κοντά στις object oriented προσεγγίσεις, σίγουρα η χρήση της PDO είναι μία εγγυημένη λύση μακροπρόθεσμα. Επίσης διαθέτει δυνατότητα σύνδεσης με 12 διαφορετικά συστήματα διαχείρισης βάσεων δεδομένων εν αντιθέσει με την MySQLi προσέγγιση που συνεργάζεται μόνο με την MySQL.

Η βιβλιοθήκη MySQLi (το i σημαίνει improved) όπως προαναφέρθηκε διαθέτει και μια διαδικασιακή διεπαφή (procedural API), οπότε κάνει αφενός πιο εύκολη την μετάβαση από παλαιού τύπου απλές MySQL συνδέσεις σε συνδέσεις MySQLi, αφετέρου δε η procedural διεπαφή απέχει από τη φιλοσοφία του μέλλοντος, οπότε αργά ή γρήγορα ενδεχομένως να χρειαστεί να αλλάξετε εκ νέου τις οποίες procedural προσεγγίσεις υλοποιήσετε.

Τόσο η PDO όσο και η MySQLi βιβλιοθήκες υποστηρίζουν Prepared Statements οι οποίες βοηθούν στην προστασία της εφαρμογής σας από SQL injections και είναι ιδιαίτερα σημαντικές για την ασφάλεια της διαδικτυακής σας εφαρμογής.


Δημιουργία σύνδεσης στην MySQL

Παρακάτω περιγράφονται 3 τρόποι σύνδεσης στην MySQL. Οι δύο αφορούν την MySQLi (Object Oriented και Procedural) και ο τρίτος την PDO.

  1. MySQLi αντικειμενοστραφής (Object Oriented)

    $host = "localhost";
    $username = "username";
    $password = "password";

    // Δημιουργία σύνδεσης
    $connection = new mysqli($host, $username, $password);

    // Έλεγχος σύνδεσης
    if ($connection->connect_error) {
        die("Connection failed: " . $connection->connect_error);
    }
    echo "Connected successfully";
    $connection->close(); // Κλείσιμο σύνδεσης
    ?>

  2. MySQLi διαδικασιακή (Procedural)

    $host = "localhost";
    $username = "username";
    $password = "password";

    // Δημιουργία σύνδεσης
    $connection = mysqli_connect($host, $username, $password);

    // Έλεγχος σύνδεσης
    if (!$connection) {
        die("Connection failed: " . mysqli_connect_error());
    }
    echo "Connected successfully";
    mysqli_close($connection); // Κλείσιμο σύνδεσης
    ?>

  3. PDO

    $host = "localhost";
    $username = "username";
    $password = "password";

    try {
        $connection = new PDO("mysql:host=$host;dbname=myDB", $username,
    $password);
        // set the PDO error mode to exception
        $connection->setAttribute(PDO::ATTR_ERRMODE,
    PDO::ERRMODE_EXCEPTION);
        echo "Connected successfully";
        }
    catch(PDOException $e)
        {
        echo "Connection failed: " . $e->getMessage();
        }
    $connection = null; // Κλείσιμο σύνδεσης
    ?>

Αξίζει να σημειωθεί ότι στο τέλος κάθε script κλείνουμε τη σύνδεση στη MySQL για να απελευθερώνονται οι πόροι που δεσμεύει η σύνδεση.

IPGLOBAL IKE   |  IP.GR   Web Hosting and Domain Name registration services in Greece
Προτιμήσεις Cookies
 Λειτουργικά  Στατιστικά  Marketing


Μπορείτε να δείτε αναλυτικές πληροφορίες για τη χρήση των cookies στη σελίδα: Όροι χρήσης