PHP mysqli_query függvény
Ebben a bejegyzésben azt fogjuk megvitatni, hogyan kell használni a mysqli_query függvényt PHP-ban egy adott lekérdezés végrehajtásához egy MySQL adatbázison.
Fedezzük fel.
Funkció szintaxis
A következő részlet bemutatja a függvény szintaxisát eljárásos formátumban.
mysqli_query(mysqli $mysql, string $query, INT $result_mode = MYSQLI_STORE_RESULT): mysqli_result|boolA függvény a következő paramétereket fogadja el:
- mysql – ez egy mysqli objektumot határoz meg, amelyet a mysqli_connect vagy mysqli_init() függvények adnak vissza.
- lekérdezés – ez meghatároz egy lekérdezési karakterláncot, amelyet a céladatbázison hajtanak végre. A PHP ajánlja a paraméterezett előkészített nyilatkozatok használatát, ha a lekérdezés bármilyen változó bemenetet tartalmaz. Alternatív megoldásként a bemenetet megfelelően kell formázni, és a karaktereket el kell menekíteni az SQL Injekciók megakadályozása érdekében.
eredmény_módszer – ez a paraméter meghatározza az eredmény módját, vagyis hogy az eredmény hogyan kerül visszaadásra a szervertől. A megengedett paraméterek a következőket tartalmazzák:
- MYSQLI_STORE_RESULT – visszaadja az eredményt mysqli_result objektumként egy pufferelt eredményhalmazzal.
- MYSQLI_USE_RESULT – az eredményt egy puffer nélküli mysqli_result objektumként adja vissza.
- MYSQLI_ASYNC - ez az előre meghatározott lekérdezést aszinkron módon hajtja végre, és nem tér vissza azonnal eredménnyel. Ehelyett a függvény végrehajtja a lekérdezést, majd a mysqli_poll() függvényt használja az összes eredmény visszaadására a lekérdezésből.
A funkció hamis értéket ad vissza, ha hiba történt. Ha sikeres, a funkció végrehajtja a lekérdezésben meghatározott műveleteket, például SELECT, SHOW, DESCRIBE stb.
Példa funkció használat
A következőkben a mysqli_query függvény használatának egy példáját mutatjuk be. Kezdje azzal, hogy létrehoz egy mintaadatbázist, táblát és adatokat az alábbi lekérdezések szerint:
CREATE DATABASE src;
USE src;
DROP TABLE IF EXISTS stack_mapping;
CREATE TABLE stack_mapping(
id INT AUTO_INCREMENT PRIMARY KEY,
server_name VARCHAR(50) NOT NULL,
address VARCHAR(100) NOT NULL,
installed_version VARCHAR(50),
tool_id INT
);
INSERT INTO stack_mapping(server_name, address, installed_version, tool_id)
VALUES ('SQL Server', 'localhost:1433', '15.0', 1),
('Elasticsearch', 'localhost:9200', '8.4', 2),
('Redis', 'localhost:6379', '6.0', 3),
('PostgreSQL', 'localhost:5432', '14.5', 4),
('MySQL', 'localhost:3306', '8.0', NULL);Példa – PHP mysqli_query() függvény használata rekordok lekérdezésére
Az alábbi példa bemutatja, hogyan lehet használni a függvényt a bejegyzések lekérdezésére a táblázatból:
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect('localhost', "root", "", "src");
$query = "SELECT * FROM stack_mapping";
$result = mysqli_query($conn, $query);
printf("Returned rows: %d \n", mysqli_num_rows($result));
?>Ebben az esetben a fenti funkció csatlakozik az adatbázishoz, majd a mysqli_function-t használja a stack_mapping táblából való sorok lekérésére.
Végül a mysqli_num_rows függvény segítségével meghatározzuk a visszaadott sorok számát. Az eredmény a következőképpen néz ki:
Returned ROWS 5MEGJEGYZÉS: Ha nagy mennyiségű adatot szeretne lekérni, használja a MYSQLI_USE_RESULT eredménytípust.
Következtetés
Ebben a bejegyzésben arról beszéltünk, hogyan lehet a mysqli_fetch függvényt használni PHP-ban egy adott lekérdezés végrehajtására egy adatbázisban.
Köszönöm, hogy elolvastad!!