fikretyn
Üye
bindParam() fonksiyonu, PDO ile hazırlanmış ifadeleri (prepared statements) kullanırken SQL sorgusunda yer alan parametreleri değişkenlere bağlamak için kullanılır. Bu fonksiyon, SQL sorgusunda yer alan parametrelerin, PHP değişkenlerine dinamik olarak atanmasını sağlar.
Parametreler:
Bu örnekte, bindParam() fonksiyonu kullanılarak :username ve password parametreleri sırasıyla $username ve $password değişkenlerine bağlanmıştır. Bu sayede SQL sorgusu çalıştırıldığında, $username ve $password değişkenlerinin değerleri kullanılacaktır.
bindParam() fonksiyonu, hazırlanmış ifadelerin kullanılmasıyla birlikte SQL enjeksiyon saldırılarına karşı koruma sağlar ve veritabanı işlemlerini daha güvenli hale getirir. Bu nedenle, PDO ile veritabanı işlemleri yaparken bindParam() fonksiyonunu kullanmak önemlidir.
Kod:
bool PDOStatement::bindParam ( mixed $param , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Parametreler:
- param: SQL sorgusunda yer alan parametre adı veya parametre sırası (1, 2, 3...) olabilir.
- variable: SQL sorgusunda yer alan parametreye atanacak PHP değişkeni.
- data_type (Opsiyonel): Parametre tipi. Varsayılan olarak PDO :: PARAM_STR (string) kullanılır. Diğer yaygın kullanılan tipler arasında PDO :: PARAM_INT (integer) ve PDO :: PARAM_BOOL (boolean) bulunur.
- length (Opsiyonel): Parametre boyutu. String parametreler için kullanılabilir.
- driver_options (Opsiyonel): Sürücüye özgü seçenekler. Genellikle kullanılmaz.
- Başarı durumunda true, başarısızlık durumunda false döndürür.
- bindParam() fonksiyonu, belirtilen değişkeni SQL sorgusundaki parametreye bağlar.
- Bu fonksiyon ile bağlanan değişken, sorgu çalıştırıldığında kullanılan değeri yansıtır.
- Değişken, bindParam() çağrısından sonra değiştirilirse, sorgu çalıştırıldığında yeni değeri yansıtır.
Kod:
$stmt = $conn->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$username = "john";
$password = "password123";
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
$stmt->execute();
Bu örnekte, bindParam() fonksiyonu kullanılarak :username ve password parametreleri sırasıyla $username ve $password değişkenlerine bağlanmıştır. Bu sayede SQL sorgusu çalıştırıldığında, $username ve $password değişkenlerinin değerleri kullanılacaktır.
bindParam() fonksiyonu, hazırlanmış ifadelerin kullanılmasıyla birlikte SQL enjeksiyon saldırılarına karşı koruma sağlar ve veritabanı işlemlerini daha güvenli hale getirir. Bu nedenle, PDO ile veritabanı işlemleri yaparken bindParam() fonksiyonunu kullanmak önemlidir.