Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> PHP /MySQL Προγραμματισμός

Πώς εκτελείτε ένα ερώτημα MySQL από το αρχείο PHP;

Για να εκτελέσετε ένα ερώτημα MySQL από ένα αρχείο PHP, πρέπει να δημιουργήσετε μια σύνδεση με τη βάση δεδομένων MySQL, να προετοιμάσετε και να εκτελέσετε το ερώτημα και στη συνέχεια να χειριστείτε τα αποτελέσματα. Εδώ είναι, χρησιμοποιώντας την επέκταση Mysqli (συνιστάται πάνω από την παλαιότερη επέκταση MySQL, η οποία είναι απογοητευμένη):

1. Δημιουργία σύνδεσης βάσης δεδομένων:

Αυτό περιλαμβάνει τη σύνδεση με τον διακομιστή MySQL χρησιμοποιώντας τα σωστά διαπιστευτήρια. Αντικαταστήστε τους κρατούς με τα πραγματικά σας διαπιστευτήρια:

`` `php

$ servername ="localHost";

$ username ="your_username";

$ password ="your_password";

$ dbname ="your_database_name";

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

$ conn =νέο mysqli ($ servername, $ username, $ password, $ dbname);

// Ελέγξτε τη σύνδεση

αν ($ conn-> connect_error) {

die ("Η σύνδεση απέτυχε:" $ conn-> connect_error);

}

echo "συνδεδεμένο με επιτυχία
"?

>>

`` `

2. Προετοιμάστε και εκτελέστε το ερώτημα:

Αυτή η ενότητα καταδεικνύει την προετοιμασία του ερωτήματος για την πρόληψη των τρωτών σημείων έγχυσης SQL και στη συνέχεια την εκτέλεση του. Χρησιμοποιείτε πάντα παρασκευασμένες δηλώσεις για να προστατεύσετε από την ένεση SQL.

`` `php

// Παράδειγμα ερωτήματος για την επιλογή όλων των δεδομένων από έναν πίνακα που ονομάζεται «χρήστες»

$ SQL ="Επιλέξτε αναγνωριστικό, όνομα, email από χρήστες";

// Προετοιμάστε τη δήλωση

$ stmt =$ conn-> prepare ($ sql);

// Εκτελέστε τη δήλωση

αν ($ stmt-> execute ()) {

// ... Αποτελέσματα χειρισμού (βλ. Ενότητα 3) ...

} αλλιώς {

Echo "Σφάλμα:". $ stmt-> σφάλμα;

}

>>

`` `

3. Χειριστείτε τα αποτελέσματα:

Ο τρόπος χειρισμού των αποτελεσμάτων εξαρτάται από τον τύπο του ερωτήματος.

* `SELECT` Ερωτήσεις: Αυτά τα δεδομένα επιστροφής. Θα χρειαστεί να δεσμεύσετε τα αποτελέσματα σε μεταβλητές και να τα μεταφέρετε.

`` `php

// Συνδέστε τα αποτελέσματα

$ stmt-> bind_result ($ id, $ όνομα, $ email);

// Λήψη αποτελέσματα

echo "<πίνακας> id Όνομα email "?

ενώ ($ stmt-> fetch ()) {

echo "". $ id. "$ όνομα." "$ Email." "?

}

echo " "?

// Κλείσιμο δήλωσης

$ stmt-> close ();

>>

`` `

* `insert`,` update`, `delete` ερωτήματα: Αυτά τροποποιούν τα δεδομένα. Ελέγχετε κυρίως τα σφάλματα. Η ιδιοκτησία `heffected_rows` σας λέει πόσες σειρές επηρεάστηκαν.

`` `php

// Παράδειγμα Εισαγωγή ερωτήματος

$ sql ="Εισαγωγή σε χρήστες (όνομα, email) Τιμές (?,?)";

$ stmt =$ conn-> prepare ($ sql);

$ name ="John Doe";

$ Email ="john.doe@example.com";

$ stmt-> bind_param ("ss", $ όνομα, $ email); // "SS" Καθορίζει τους τύπους δεδομένων:συμβολοσειρά, συμβολοσειρά

αν ($ stmt-> execute ()) {

echo "Νέο ρεκόρ δημιουργήθηκε με επιτυχία. $ stmt-> effected_rows;

} αλλιώς {

Echo "Σφάλμα:". $ stmt-> σφάλμα;

}

$ stmt-> close ();

>>

`` `

4. Κλείστε τη σύνδεση:

Κλείστε πάντα τη σύνδεση βάσης δεδομένων όταν τελειώσετε.

`` `php

$ conn-> close ();

>>

`` `

Πλήρες παράδειγμα (επιλέξτε ερώτημα):

`` `php

$ servername ="localHost";

$ username ="your_username";

$ password ="your_password";

$ dbname ="your_database_name";

$ conn =νέο mysqli ($ servername, $ username, $ password, $ dbname);

αν ($ conn-> connect_error) {

die ("Η σύνδεση απέτυχε:" $ conn-> connect_error);

}

$ SQL ="Επιλέξτε αναγνωριστικό, όνομα, email από χρήστες";

$ stmt =$ conn-> prepare ($ sql);

$ stmt-> execute ();

$ stmt-> bind_result ($ id, $ όνομα, $ email);

echo "<πίνακας> id Όνομα email "?

ενώ ($ stmt-> fetch ()) {

echo "". $ id. "$ όνομα." "$ Email." "?

}

echo " "?

$ stmt-> close ();

$ conn-> close ();

>>

`` `

Θυμηθείτε να αντικαταστήσετε τις τιμές κράτησης θέσης με τα πραγματικά διαπιστευτήρια βάσης δεδομένων και το όνομα του πίνακα. Βεβαιωθείτε επίσης ότι η επέκταση MySQLI είναι ενεργοποιημένη στη διαμόρφωση PHP. Εάν αντιμετωπίζετε προβλήματα, ελέγξτε τα αρχεία καταγραφής σφαλμάτων PHP για περισσότερες λεπτομέρειες. Η χρήση PDO (αντικείμενα δεδομένων PHP) είναι μια άλλη εξαιρετική και πιο ευέλικτη επιλογή για αλληλεπιδράσεις βάσεων δεδομένων στην PHP. Οι αρχές είναι παρόμοιες, αλλά η σύνταξη είναι ελαφρώς διαφορετική.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα