PHP MySQLi Λειτουργίες: mysqli_query, mysqli_connect, mysqli_fetch_array

Η PHP διαθέτει μια πλούσια συλλογή από ενσωματωμένες συναρτήσεις για χειρισμό MySQL βάσεων δεδομένων.

PHP mysqlλειτουργία i_connect

Η PHP mysql Η συνάρτηση σύνδεσης χρησιμοποιείται για σύνδεση σε α MySQL διακομιστή βάσης δεδομένων.

Έχει το ακόλουθοwing σύνταξη.

<?php;
$db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password);
?>

ΕΔΩ,

  • Το "$db_handle" είναι η μεταβλητή πόρων σύνδεσης βάσης δεδομένων.
  • "mysqli_connect(…)” είναι η συνάρτηση για τη σύνδεση της βάσης δεδομένων php
  • "$server_name" είναι το όνομα ή η διεύθυνση IP του διακομιστή που φιλοξενεί MySQL διακομιστή.
  • Το "$user_name" είναι ένα έγκυρο όνομα χρήστη MySQL διακομιστή.
  • Το "$password" είναι ένας έγκυρος κωδικός πρόσβασης που σχετίζεται με ένα όνομα χρήστη στο MySQL διακομιστή.

PHP mysqlσυνάρτηση i_select_db

Η mysqlΗ συνάρτηση i_select_db χρησιμοποιείται για την επιλογή μιας βάσης δεδομένων.

Έχει το ακόλουθοwing σύνταξη.

<?php
mysqli_select_db($db_handle,$database_name);
?>

ΕΔΩ,

  • "mysqli_select_db(…)” είναι η συνάρτηση επιλογής βάσης δεδομένων που επιστρέφει είτε true είτε false
  • "$database_name" είναι το όνομα της βάσης δεδομένων
  • Το "$link_identifier" είναι προαιρετικό, χρησιμοποιείται για να περάσει στον σύνδεσμο σύνδεσης διακομιστή

PHP mysqlσυνάρτηση i_query

Η mysqlΗ συνάρτηση i_query χρησιμοποιείται για την εκτέλεση SQL ερωτήματα.

Η συνάρτηση μπορεί να χρησιμοποιηθεί για την εκτέλεση του following τύποι ερωτήματος.

  • Κύριο θέμα
  • Αγορά
  • Ενημέρωση
  • διαγράψετε

Έχει το ακόλουθοwing σύνταξη.

<?php
mysqli_query($db_handle,$query) ;
?>

ΕΔΩ,

  • "mysqli_query(…)” είναι η συνάρτηση που εκτελεί τα ερωτήματα SQL.
  • Το "$query" είναι το ερώτημα SQL που πρέπει να εκτελεστεί
  • Το "$link_identifier" είναι προαιρετικό, μπορεί να χρησιμοποιηθεί για να περάσει στον σύνδεσμο σύνδεσης διακομιστή

PHP mysqli_num_rows συνάρτηση

Η mysqlΗ συνάρτηση i_num_rows χρησιμοποιείται για τη λήψη του αριθμού των γραμμών που επιστρέφονται από ένα επιλεγμένο ερώτημα.

Έχει το ακόλουθοwing σύνταξη.

<?php
mysqli_num_rows($result);
?>

ΕΔΩ,

  • "mysqli_num_rows(…)” είναι η συνάρτηση μέτρησης γραμμών
  • Το "$result" είναι το mysqlσύνολο αποτελεσμάτων i_query

PHP mysqli_fetch_array συνάρτηση

Η mysqlΗ συνάρτηση i_fetch_array χρησιμοποιείται για την ανάκτηση πινάκων σειρών από ένα σύνολο αποτελεσμάτων ερωτήματος.

Έχει το ακόλουθοwing σύνταξη.

<?php
mysqli_fetch_array($result);
?>

ΕΔΩ,

  • "mysqli_fetch_array(…)” είναι η συνάρτηση για την ανάκτηση πινάκων σειρών
  • Το "$result" είναι το αποτέλεσμα που επιστρέφεται από το mysqlσυνάρτηση i_query.

PHP mysqlλειτουργία i_close

Η mysqlΗ συνάρτηση i_close χρησιμοποιείται για το κλείσιμο μιας ανοικτής σύνδεσης βάσης δεδομένων.

Έχει το ακόλουθοwing σύνταξη.

<?php
mysqli_close($db_handle);
?>

ΕΔΩ,

  • "mysqli_close(…)” είναι η συνάρτηση PHP
  • Το "$link_identifier" είναι προαιρετικό, χρησιμοποιείται για τη μετάδοση στον πόρο σύνδεσης διακομιστή

Ας δούμε πρακτικά παραδείγματα που εκμεταλλεύονται αυτές τις λειτουργίες.

Δημιουργία του MySQL βάση δεδομένων Αυτό το σεμινάριο προϋποθέτει τη γνώση MySQL και SQL, εάν αυτοί οι όροι δεν σας είναι οικείοι, ανατρέξτε στο δικό μας MySQL και σεμινάρια SQL.

Θα δημιουργήσουμε μια απλή βάση δεδομένων που ονομάζεται my_personal_contacts με έναν μόνο πίνακα.

Ακολουθούν τα βήματα για τη δημιουργία της βάσης δεδομένων και του πίνακα.

  • Σύνδεση με MySQL χρησιμοποιώντας το αγαπημένο σας εργαλείο πρόσβασης όπως MySQL πάγκος εργασίας, phpMyAdmin και ούτω καθεξής
  • Δημιουργήστε μια βάση δεδομένων με το όνομα my_person_contacts
  • Εκτελέστε το σενάριο που φαίνεται παρακάτω για να δημιουργήσετε τον πίνακα και να εισαγάγετε μερικά εικονικά δεδομένα
<?php
CREATE TABLE IF NOT EXISTS `my_contacts` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `full_names` varchar(255) NOT NULL,

  `gender` varchar(6) NOT NULL,

  `contact_no` varchar(75) NOT NULL,

  `email` varchar(255) NOT NULL,

  `city` varchar(255) NOT NULL,

  `country` varchar(255) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES

(1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'),

(2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'),

(3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'),

(4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy');
?>

Τώρα έχουμε ρυθμίσει μια βάση δεδομένων που θα χειριστούμε από την PHP.

Ανάγνωση εγγραφών από τη βάση δεδομένων Τώρα θα δημιουργήσουμε ένα πρόγραμμα που εκτυπώνει τις εγγραφές από τη βάση δεδομένων.

<?php 
	$dbh = mysqli_connect('localhost', 'root', 'melody'); 
	//connect to MySQL server if (!$dbh)     
    
	die("Unable to connect to MySQL: " . mysqli_error());
    
	//if connection failed output error message 
    if (!mysqli_select_db($dbh,'my_personal_contacts'))     
    
	die("Unable to select database: " . mysqli_error()); 
    //if selection fails output error message 
    
	$sql_stmt = "SELECT * FROM my_contacts"; 
    //SQL select query 
    
     $result = mysqli_query($dbh,$sql_stmt);
     //execute SQL statement 
     
	if (!$result)     
		die("Database access failed: " . mysqli_error()); 
    	//output error message if query execution failed 
        
		$rows = mysqli_num_rows($result); 
   		// get number of rows returned 
    
	if ($rows) {     
    
	while ($row = mysqli_fetch_array($result)) {         
		echo 'ID: ' . $row['id'] . '<br>';         
		echo 'Full Names: ' . $row['full_names'] . '<br>';        
		echo 'Gender: ' . $row['gender'] . '<br>';         
		echo 'Contact No: ' . $row['contact_no'] . '<br>';         
		echo 'Email: ' . $row['email'] . '<br>';         
		echo 'City: ' . $row['city'] . '<br>';         
		echo 'Country: ' . $row['country'] . '<br><br>';     
	} 
} 
mysqli_close($dbh); //close the database connection 
?>

Η εκτέλεση του παραπάνω κώδικα επιστρέφει τα αποτελέσματα που φαίνονται στο διάγραμμα που φαίνεται παρακάτω

PHP: MySQL Συναρτήσεις

Εισαγωγή νέων εγγραφών

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

<?php 
	$dbh = mysqli_connect('localhost', 'root', 'melody'); 
	//connect to MySQL server if (!$dbh)     
    
	die("Unable to connect to MySQL: " . mysqli_error()); 
	//if connection failed output error message 
    
	if (!mysqli_select_db($dbh,'my_personal_contacts'))     
	die("Unable to select database: " . mysql_error()); 
	//if selection fails output error message 
    
	$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"; 
	$sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')"; 
    
	$result = mysqli_query($dbh,$sql_stmt); //execute SQL statement 
    
	if (!$result)     
		die("Adding record failed: " . mysqli_error()); 
		//output error message if query execution failed echo "Poseidon has been successfully added to your contacts list";
        
 mysqli_close($dbh); //close the database connection 
?>

Εκτελώντας τις παραπάνω εξόδους κώδικα "Το Poseidon προστέθηκε με επιτυχία στη λίστα επαφών σας" επιστρέψτε στο παράδειγμα επιλογής ερωτήματος και ανακτήστε ξανά τις επαφές σας.

Δείτε αν ο Ποσειδώνας έχει προστεθεί στη λίστα σας.

Ενημέρωση εγγραφών Ας δούμε τώρα ένα παράδειγμα που ενημερώνει μια εγγραφή στη βάση δεδομένων.

Ας υποθέσουμε ότι ο Ποσειδώνας έχει αλλάξει αριθμό επικοινωνίας και το email διεύθυνση.

<?php 
	$dbh = mysqli_connect('localhost', 'root', 'melody'); 
	//connect to MySQL server 
    
	if (!$dbh)    
	die("Unable to connect to MySQL: " . mysqli_error()); 
    //if connection failed output error message 
    
	if (!mysqli_select_db($dbh,'my_personal_contacts'))     
	die("Unable to select database: " . mysql_error()); 
	//if selection fails output error message 
    
	$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc ';
	//SQL select query $sql_stmt .= " WHERE `id` = 5"; 
    
	$result = mysqli_query($dbh,$sql_stmt); 
	//execute SQL statement if (!$result)     
    
	die("Deleting record failed: " . mysqli_error()); 
	//output error message if query execution failed 
    
	echo "ID number 5 has been successfully updated"; 
mysqli_close($dbh); //close the database connection 
?>

Διαγραφή εγγραφών

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

<?php 
	$dbh = mysqli_connect('localhost', 'root', 'melody'); 
	//connect to MySQL server
    
	if (!$dbh)     
	die("Unable to connect to MySQL: " . mysqli_error()); 
	//if connection failed output error message 
    
	if (!mysqli_select_db($dbh,'my_personal_contacts'))     
	die("Unable to select database: " . mysqli_error()); 
	//if selection failes output error message $id = 4; 
	//Venus's ID in the database 
    
	$sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id"; 
	//SQL Delete query 
    
	$result = mysqli_query($dbh,$sql_stmt); 
	//execute SQL statement 
    
	if (!$result)     
	die("Deleting record failed: " . mysqli_error());
	//output error message if query execution failed 
    
	echo "ID number $id has been successfully deleted"; 
mysqli_close($dbh); //close the database connection 
?>

Αντικείμενο πρόσβασης δεδομένων PHP ΠΟΠ

Το PDO είναι μια κλάση που μας επιτρέπει να χειριζόμαστε διαφορετικούς μηχανισμούς βάσης δεδομένων όπως π.χ MySQL, PostGres, MS SQL Server κ.λπ.

Ο παρακάτω κώδικας δείχνει τη μέθοδο πρόσβασης στη βάση δεδομένων χρησιμοποιώντας το αντικείμενο PDO.

Σημείωση: ο παρακάτω κώδικας προϋποθέτει γνώση της γλώσσας SQL, των πινάκων, του χειρισμού εξαιρέσεων και του βρόχου foreach.

<?php 
	try {    
	$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');     
    
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);     
	$pdo->exec('SET NAMES "utf8"');     
    
	$sql_stmt = "SELECT * FROM `my_contacts`";     
	$result = $pdo->query($sql_stmt);     
	$result->setFetchMode(PDO::FETCH_ASSOC);     
	$data = array();     
	foreach ($result as $row) {         
	$data[] = $row;     
  }     
print_r($data); 
} 
catch (PDOException $e) {     
	echo $e->getMessage(); 
} 
?>

ΕΔΩ,

  • Το "try{…catch...}" είναι το μπλοκ χειρισμού εξαιρέσεων
  • "$pdo = νέο ΠΟΠ("mysql…» δημιουργεί μια παρουσία του αντικειμένου PDO και μεταβιβάζει τα προγράμματα οδήγησης της βάσης δεδομένων, τα ονόματα διακομιστή και βάσης δεδομένων, το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης.
  • Το “$pdo->setAtt…” ορίζει τα χαρακτηριστικά λειτουργίας σφάλματος PDO και λειτουργίας εξαίρεσης
  • Το "$pdo->exec('SET NA..." ορίζει τη μορφή κωδικοποίησης

ODBC Το ODBC είναι το ακρωνύμιο για το Open Database Connectivity. Έχει το ακόλουθοwing βασική σύνταξη.

<?php $conn = odbc_connect($dsn, $user_name, $password); ?>

ΕΔΩ,

  • Το "odbc_connect" είναι η ενσωματωμένη συνάρτηση PHP
  • Το "$dsn" είναι το όνομα της πηγής δεδομένων ODBC.
  • Το "$user_name" είναι προαιρετικό, χρησιμοποιείται για το όνομα χρήστη ODBC
  • Το "$password" είναι προαιρετικό, χρησιμοποιείται για τον κωδικό πρόσβασης ODBC

Το παράδειγμα που χρησιμοποιείται σας υποθέτει.

  • Χρησιμοποιούν Windows OS
  • Έχετε δημιουργήσει έναν σύνδεσμο ODBC προς τον βόρειο άνεμο Microsoft Πρόσβαση στη βάση δεδομένων με το όνομα northwind

Παρακάτω είναι ο κώδικας υλοποίησης για πρόσβαση σε δεδομένα ODBC

<?php 
	$dbh = odbc_connect('northwind', '', ''); 
	if (!$dbh) {     
	exit("Connection Failed: " . $dbh); 
} 
	$sql_stmt = "SELECT * FROM customers"; 
	$result = odbc_exec($dbh, $sql_stmt); 
	if (!$result) {     
	exit("Error access records"); 
} 
	while (odbc_fetch_row($result)) {     
	$company_name = odbc_result($result, "CompanyName");    
	$contact_name = odbc_result($result, "ContactName");     
	echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>";
} 
odbc_close($dbh); 
?>

Χαρακτηριστικά

  • MySQL είναι μια διαχείριση σχεσιακής βάσης δεδομένων ανοιχτού κώδικα που διατίθεται στους περισσότερους διακομιστές φιλοξενίας ιστοσελίδων
  • Η PHP διαθέτει μια πλούσια συλλογή από ενσωματωμένες λειτουργίες που απλοποιούν την εργασία με αυτές MySQL
  • Το PDO είναι το ακρωνύμιο του PHP Data Object. Χρησιμοποιείται για τη σύνδεση με διαφορετικές μηχανές βάσης δεδομένων χρησιμοποιώντας το ίδιο αντικείμενο
  • Η PHP χρησιμοποιεί τη συνάρτηση odbc_connect για να χειριστεί βάσεις δεδομένων μέσω ODBC