PHP MySQLi Toiminnot: mysqli_query, mysqli_connect, mysqli_fetch_array
PHP:llä on rikas kokoelma sisäänrakennettuja toimintoja manipulointia varten MySQL tietokantoja.
PHP mysqli_connect-toiminto
PHP mysql connect -toimintoa käytetään yhteyden muodostamiseen a MySQL tietokantapalvelin.
Sillä on seuraava syntaksi.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
TÄSSÄ,
- "$db_handle" on tietokantayhteyden resurssimuuttuja.
- "mysqli_connect(…)" on php-tietokantayhteyden funktio
- "$palvelimen_nimi" on isännöivän palvelimen nimi tai IP-osoite MySQL palvelin.
- "$user_name" on kelvollinen käyttäjänimi MySQL palvelin.
- "$password" on kelvollinen salasana, joka liittyy käyttäjänimeen MySQL palvelin.
PHP mysqli_select_db-funktio
Mysqli_select_db-funktiota käytetään tietokannan valitsemiseen.
Sillä on seuraava syntaksi.
<?php mysqli_select_db($db_handle,$database_name); ?>
TÄSSÄ,
- "mysqli_select_db(…)" on tietokannan valintatoiminto, joka palauttaa joko tosi tai epätosi
- "$tietokannan_nimi" on tietokannan nimi
- "$link_identifier" on valinnainen, sitä käytetään välittämään palvelinyhteyslinkki
PHP mysqli_query -funktio
Mysqli_query-funktiota käytetään suorittamaan SQL kyselyitä.
Funktiota voidaan käyttää seuraavien kyselytyyppien suorittamiseen;
- liite
- valita
- Päivitykset
- poistaa
Sillä on seuraava syntaksi.
<?php mysqli_query($db_handle,$query) ; ?>
TÄSSÄ,
- "mysqli_query(…)" on funktio, joka suorittaa SQL-kyselyt.
- "$query" on suoritettava SQL-kysely
- "$link_identifier" on valinnainen, sitä voidaan käyttää välittämään palvelinyhteyslinkki
PHP mysqli_num_rows -funktio
Mysqli_num_rows-funktiota käytetään valintakyselystä palautettujen rivien lukumäärän saamiseksi.
Sillä on seuraava syntaksi.
<?php mysqli_num_rows($result); ?>
TÄSSÄ,
- "mysqli_num_rows(…)" on rivien laskentafunktio
- "$tulos" on mysqli_query-tulosjoukko
PHP mysqli_fetch_array -funktio
Mysqli_fetch_array-funktiota käytetään hakemaan rivitaulukoita kyselyn tulosjoukosta.
Sillä on seuraava syntaksi.
<?php mysqli_fetch_array($result); ?>
TÄSSÄ,
- "mysqli_fetch_array(…)" on rivitaulukoiden noutotoiminto
- "$tulos" on mysqli_query-funktion palauttama tulos.
PHP mysqli_close -funktio
Mysqli_close-funktiota käytetään avoimen tietokantayhteyden sulkemiseen.
Sillä on seuraava syntaksi.
<?php mysqli_close($db_handle); ?>
TÄSSÄ,
- "mysqli_close(…)" on PHP-funktio
- "$link_identifier" on valinnainen, sitä käytetään palvelinyhteysresurssin välittämiseen
Katsotaanpa käytännön esimerkkejä, jotka hyödyntävät näitä toimintoja.
Luominen MySQL tietokanta Tämä opetusohjelma edellyttää tietoa MySQL ja SQL, jos nämä termit eivät ole sinulle tuttuja, katso meidän MySQL ja SQL tutoriaalit.
Luomme yksinkertaisen tietokannan nimeltä my_personal_contacts, jossa on vain yksi taulukko.
Alla on vaiheet tietokannan ja taulukon luomiseksi.
- Yhdistä MySQL käyttämällä suosikkityökaluasi, kuten MySQL työpöytä, phpMyAdmin jne.
- Luo tietokanta nimeltä my_person_contacts
- Suorita alla oleva komentosarja luodaksesi taulukon ja lisäämällä joitakin vääriä tietoja
<?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'); ?>
Meillä on nyt perustettu tietokanta, jota käsittelemme PHP:llä.
Tietueiden lukeminen tietokannasta Luomme nyt ohjelman, joka tulostaa tietueet tietokannasta.
<?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 ?>
Yllä olevan koodin suorittaminen palauttaa alla olevan kaavion tulokset
Uusien tietueiden lisääminen
Katsotaanpa nyt esimerkkiä, joka lisää uuden tietueen taulukkoomme. alla oleva koodi näyttää toteutuksen.
<?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 ?>
Suorittamalla yllä olevat kooditulosteet "Poseidon on lisätty onnistuneesti yhteystietoluetteloosi" palaa valintakyselyesimerkkiin ja hae yhteystietosi uudelleen.
Katso, onko Poseidon lisätty luetteloosi.
Tietueiden päivittäminen Katsotaan nyt esimerkkiä, joka päivittää tietueen tietokannassa.
Oletetaan, että Poseidon on vaihtanut puhelinnumeronsa ja sähköpostiosoitteensa.
<?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 ?>
Tietueiden poistaminen
Katsotaan nyt esimerkkiä, joka poistaa tietueita tietokannasta. Oletetaan, että Venuksella on meitä vastaan lähestymiskielto, ja meidän on poistettava hänen yhteystietonsa tietokanta.
<?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 Data Access Object SAN
PDO on luokka, jonka avulla voimme käsitellä erilaisia tietokantakoneita, kuten MySQL, PostGres, MS SQL Server jne.
Alla oleva koodi näyttää tietokannan käyttötavan käyttämällä PDO-objektia.
Huomautus: alla oleva koodi edellyttää SQL-kielen, taulukoiden, poikkeusten käsittelyn ja foreach-silmukan tuntemusta.
<?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(); } ?>
TÄSSÄ,
- "try{...catch...}" on poikkeusten käsittelylohko
- “$pdo = new PDO(”mysql…” luo PDO-objektin esiintymän ja välittää tietokantaohjaimet, palvelimen ja tietokannan nimet, käyttäjätunnuksen ja salasanan.
- “$pdo->setAtt…” asettaa PDO-virhetilan ja poikkeustilan attribuutit
- “$pdo->exec('SET NA…” määrittää koodausmuodon
ODBC ODBC on lyhenne sanoista Open Database Connectivity. Siinä on seuraava perussyntaksi.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
TÄSSÄ,
- "odbc_connect" on PHP:n sisäänrakennettu toiminto
- "$dsn" on ODBC-tietolähteen nimi.
- "$user_name" on valinnainen, sitä käytetään ODBC-käyttäjänimenä
- "$password" on valinnainen, sitä käytetään ODBC-salasanana
Käytetty esimerkki olettaa sinua;
- Käyttävät Windows OS
- Olet luonut ODBC-linkin pohjoistuuleen Microsoft Pääsy tietokantaan nimeltä Northwind
Alla on ODBC-tietojen käytön toteutuskoodi
<?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); ?>
Yhteenveto
- MySQL on avoimen lähdekoodin relaatiotietokannan hallinta, joka on saatavilla useimmilla web-hosting-palvelimilla
- PHP:llä on runsas kokoelma sisäänrakennettuja toimintoja, jotka yksinkertaistavat työskentelyä MySQL
- PDO on lyhenne sanoista PHP Data Object; sitä käytetään muodostamaan yhteys eri tietokantakoneisiin käyttämällä samaa objektia
- PHP käyttää odbc_connect-funktiota tietokantojen käsittelyyn ODBC:n kautta