PHP MySQLi Funkciók: mysqli_query, mysqli_connect, mysqli_fetch_array
A PHP beépített funkciók gazdag gyűjteményével rendelkezik a manipulációhoz MySQL adatbázisok.
PHP mysqli_connect függvény
A PHP mysql connect funkciója az a MySQL adatbázis szerver.
A következő szintaxissal rendelkezik.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
ITT,
- A „$db_handle” az adatbázis-kapcsolat erőforrás-változója.
- A „mysqli_connect(…)” a php adatbázis-kapcsolat függvénye
- A „$szerver_neve” a kiszolgáló neve vagy IP-címe MySQL szervert.
- A „$user_name” egy érvényes felhasználónév itt MySQL szervert.
- A „$password” egy érvényes jelszó, amely egy felhasználónévhez van társítva MySQL szervert.
PHP mysqli_select_db függvény
A mysqli_select_db függvény az adatbázis kiválasztására szolgál.
A következő szintaxissal rendelkezik.
<?php mysqli_select_db($db_handle,$database_name); ?>
ITT,
- A „mysqli_select_db(…)” az adatbázis-kiválasztó függvény, amely igaz vagy hamis értéket ad vissza
- „$adatbázis_neve” az adatbázis neve
- A „$link_identifier” opcionális, a szerverkapcsolati hivatkozás átadására szolgál
PHP mysqli_query függvény
A mysqli_query függvény végrehajtására szolgál SQL lekérdezéseket.
A függvény a következő lekérdezéstípusok végrehajtására használható;
- betétlap
- választ
- Frissítések
- töröl
A következő szintaxissal rendelkezik.
<?php mysqli_query($db_handle,$query) ; ?>
ITT,
- A „mysqli_query(…)” az SQL lekérdezéseket végrehajtó függvény.
- A „$query” a végrehajtandó SQL lekérdezés
- A „$link_identifier” opcionális, használható a szerverkapcsolati hivatkozás átadására
PHP mysqli_num_rows függvény
A mysqli_num_rows függvény a kiválasztási lekérdezésből visszaadott sorok számának lekérésére szolgál.
A következő szintaxissal rendelkezik.
<?php mysqli_num_rows($result); ?>
ITT,
- A „mysqli_num_rows(…)” a sorszámláló függvény
- A „$result” a mysqli_query eredménykészlete
PHP mysqli_fetch_array függvény
A mysqli_fetch_array függvény a sortömbök lekérése a lekérdezés eredménykészletéből.
A következő szintaxissal rendelkezik.
<?php mysqli_fetch_array($result); ?>
ITT,
- A „mysqli_fetch_array(…)” a sortömbök lekérésének függvénye
- A „$result” a mysqli_query függvény által visszaadott eredmény.
PHP mysqli_close függvény
A mysqli_close függvény egy nyitott adatbázis-kapcsolat bezárására szolgál.
A következő szintaxissal rendelkezik.
<?php mysqli_close($db_handle); ?>
ITT,
- A „mysqli_close(…)” a PHP függvény
- A „$link_identifier” nem kötelező, a szerverkapcsolati erőforrás átadására szolgál
Nézzünk gyakorlati példákat, amelyek kihasználják ezeket a funkciókat.
A MySQL adatbázis Ez az oktatóanyag a következő ismeretét feltételezi MySQL és SQL, ha ezek a kifejezések ismeretlenek az Ön számára, tekintse meg a mi MySQL és SQL oktatóanyagok.
Létrehozunk egy egyszerű, my_personal_contacts nevű adatbázist egyetlen táblával.
Az alábbiakban bemutatjuk az adatbázis és a tábla létrehozásának lépéseit.
- Kapcsolodni MySQL kedvenc hozzáférési eszközével, mint pl MySQL munkapad, phpMyAdmin stb.
- Hozzon létre egy adatbázist my_person_contacts néven
- Futtassa az alábbi parancsfájlt a táblázat létrehozásához, és szúrjon be néhány ál adatot
<?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'); ?>
Most van egy adatbázisunk, amelyet PHP-ből fogunk kezelni.
Rekordok olvasása az adatbázisból Most létrehozunk egy programot, amely kinyomtatja a rekordokat az adatbázisból.
<?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
?>
A fenti kód végrehajtása az alábbi ábrán látható eredményeket adja vissza
Új rekordok beszúrása
Nézzünk most egy példát, amely új rekordot ad a táblázatunkhoz. az alábbi kód a megvalósítást mutatja.
<?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
?>
A fenti kódkimenetek végrehajtásával „A Poseidon sikeresen felkerült a névjegylistára” térjen vissza a kiválasztási lekérdezési példához, és keresse meg újra a névjegyeket.
Nézd meg, hogy Poseidon felkerült-e a listádra.
Rekordok frissítése Nézzünk most egy példát, amely frissít egy rekordot az adatbázisban.
Tegyük fel, hogy Poszeidon megváltoztatta a kapcsolati számát és e-mail címét.
<?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
?>
Rekordok törlése
Nézzünk most egy példát, amely eltávolítja a rekordokat az adatbázisból. Tegyük fel, hogy Vénusz távoltartási tilalmat rendelt el ellenünk, és el kell távolítanunk az elérhetőségeit adatbázis.
<?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 OEM
A PDO egy olyan osztály, amely lehetővé teszi számunkra, hogy manipuláljunk különböző adatbázis-motorokat, mint pl MySQL, PostGres, MS SQL Server stb.
Az alábbi kód az adatbázis-hozzáférési módot mutatja a PDO objektum használatával.
Jegyzet: az alábbi kód feltételezi az SQL nyelv, a tömbök, a kivételkezelés és a foreach ciklus ismeretét.
<?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();
}
?>
ITT,
- A „try{…catch…}” a kivételkezelési blokk
- A „$pdo = new PDO(“mysql…” létrehozza a PDO objektum egy példányát, és átadja az adatbázis-illesztőprogramokat, a szerver- és adatbázisneveket, a felhasználói azonosítót és a jelszót.
- A „$pdo->setAtt…” beállítja a PDO hibamód és a kivétel mód attribútumait
- A “$pdo->exec('SET NA…” beállítja a kódolási formátumot
ODBC Az ODBC az Open Database Connectivity rövidítése. A következő alapvető szintaxissal rendelkezik.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
ITT,
- Az „odbc_connect” a PHP beépített függvénye
- A „$dsn” az ODBC adatforrás neve.
- A „$user_name” nem kötelező, az ODBC felhasználónévként használatos
- A „$password” nem kötelező, ez az ODBC jelszó
A használt példa feltételezi Önt;
- Használják Windows OS
- Létrehozott egy ODBC linket az északi szélhez Microsoft Hozzáférés a northwind nevű adatbázishoz
Az alábbiakban az ODBC adathozzáférés megvalósítási kódja látható
<?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);
?>
Összegzésként
- MySQL egy nyílt forráskódú relációs adatbázis-kezelés, amely a legtöbb webtárhely-kiszolgálón elérhető
- A PHP beépített funkciók gazdag gyűjteményével egyszerűsíti a munkát MySQL
- A PDO a PHP Data Object rövidítése; különböző adatbázismotorokhoz való kapcsolódásra szolgál ugyanazon objektum használatával
- A PHP az odbc_connect függvényt használja az adatbázisok ODBC-n keresztüli kezelésére

