PHP mysqli_query Fonksiyonu
Bu yazıda, bir MySQL veritabanına belirli bir sorguyu gerçekleştirmek için PHP'de mysqli_query fonksiyonunun nasıl kullanılacağını tartışacağız.
Keşfedelim.
Fonksiyon Söz Dizimi
Aşağıdaki bölüm, işlev söz dizimini prosedürel formatta göstermektedir.
mysqli_query(mysqli $mysql, string $query, INT $result_mode = MYSQLI_STORE_RESULT): mysqli_result|boolFonksiyon aşağıdaki parametreleri kabul eder:
- mysql – bu, mysqli_connect veya mysqli_init() işlevlerinden dönen bir mysqli nesnesini tanımlar.
- sorgu - bu, hedef veritabanında yürütülen bir sorgu dizesini tanımlar. PHP, sorgu değişken girişi içeriyorsa parametreli hazırlanan ifadelerin kullanılmasını önerir. Alternatif olarak, girişlerin doğru bir şekilde biçimlendirilmesi ve dizelerin SQL Enjeksiyonlarını önlemek için kaçış karakterleriyle korunması gerekir.
sonuç_modu – bu parametre, sonucun sunucudan nasıl döneceğini tanımlayan sonuç modunu tanımlar. Kabul edilen parametreler şunları içerir:
- MYSQLI_STORE_RESULT – sonuçları bir buffer'lı sonuç kümesiyle mysqli_result nesnesi olarak döndürür.
- MYSQLI_USE_RESULT – sonucu bellek kullanmadan bir mysqli_result nesnesi olarak döndürür.
- MYSQLI_ASYNC - bu, tanımlı sorguyu asenkron olarak gerçekleştirir ve hemen hiçbir sonuç döndürülmez. Bunun yerine, işlev sorguyu gerçekleştirir ve ardından sorgudan tüm sonuçları döndürmek için mysqli_poll() işlevini kullanır.
Fonksiyon, başarısızlık durumunda false döner. Başarılı olursa, fonksiyon sorguda tanımlanan işlemleri gerçekleştirir, SELECT, SHOW, DESCRIBE vb. gibi.
Örnek Fonksiyon Kullanımı
Aşağıda mysqli_query fonksiyonunun kullanımına bir örnek gösterilmektedir. Aşağıdaki sorgularda gösterildiği gibi bir örnek veritabanı, tablo ve veri oluşturarak başlayın:
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);Örnek – PHP mysqli_query() Fonksiyonu Kullanarak Kayıtları Getirme
Aşağıdaki örnek, tablodan kayıtları almak için fonksiyonun nasıl kullanılacağını göstermek için hazırlanmıştır:
<?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));
?>Bu durumda, yukarıdaki fonksiyon veritabanına bağlanır ve ardından stack_mapping tablosundan satırları almak için mysqli_fonksiyonu kullanır.
Sonunda, döndürülen satır sayısını mysqli_num_rows fonksiyonunu kullanarak belirliyoruz. Elde edilen çıktı aşağıda gösterildiği gibidir:
Returned ROWS 5NOT: Eğer almanız gereken büyük miktarda veri varsa, MYSQLI_USE_RESULT sonuç modunu kullanın.
Sonuç
Bu yazıda, PHP'de bir veritabanına belirli bir sorgu yapmak için mysqli_fetch fonksiyonunu nasıl kullanacağımızı tartıştık.
Okuduğunuz için teşekkürler!!