PDOStatement->bindColumn

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement->bindColumnBir sütunu bir PHP değişkeni ile ilişkilendirir

Açıklama

bool PDOStatement::bindColumn ( mixed $sütun , mixed &$değişken [, int $veri_türü [, int $uzunluk [, mixed $seçenekler ]]] )

Bir sorgunun sonuç kümesindeki belli bir sütunu bir değişken ile ilişkilendirir. Her PDOStatement::fetch() veya PDOStatement::fetchAll() çağrısında sütunlarla ilişkili değişkenler güncellenir.

Bilginize:

Deyim çalıştırılana kadar sütun bilgisi PDO'ya görünür olmadığından taşınabilir uygulamaların bu yöntemi bir PDOStatement::execute() çağrısından sonra kullanmaları gerekir.

Ancak, PgSQL sürücüsü kullanılırken bir LOB sütununu bir akımla ilişkilendirmek için bu yöntemin PDOStatement::execute() çağrısından önce kullanılması gerekir. Aksi takdirde büyük nesnenin nesne kimliği (oid) bir tamsayı olarak döner.

Değiştirgeler

sütun

Sütunun numarası veya ismi; sütun numaraları 1'den başlar. Sütun isminin sürücüden dönen isimle aynı harf büyüklüklerine sahip olmasına dikkat edin.

değişken

Sütun ile ilişkilendirilecek PHP değişkeninin ismi.

veri_türü

PDO::PARAM_* sabitlerinden biri olarak veri türü.

uzunluk

Yer ayırmak için ipucu olarak kullanılır.

seçenekler

Sürücü için isteğe bağlı değiştirgeler.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - Sonuç kümesi çıktısının PHP değişkenleri ile ilişkilendirilmesi

Sütunları birer PHP değişkeni ile ilişkilendirmek, sonuç kümesinin her satırının anında kullanıma hazır olmasını sağlamanın en kolay ve en verimli yoludur. Aşağıdaki örnekte, sütunların alınması ve değişkenlerle ilişkilendirilirken akıllı öntanımlılarla bazı seçeneklerin kullanılışı gösterilmiştir.

<?php
function readData($dbh) {
  
$sql 'SELECT name, colour, calories FROM fruit';
  try {
    
$stmt $dbh->prepare($sql);
    
$stmt->execute();

    
/* Bind by column number */
    
$stmt->bindColumn(1$name);
    
$stmt->bindColumn(2$colour);

    
/* Bind by column name */
    
$stmt->bindColumn('calories'$cals);

    while (
$row $stmt->fetch(PDO::FETCH_BOUND)) {
      
$data $name "\t" $colour "\t" $cals "\n";
      print 
$data;
    }
  }
  catch (
PDOException $e) {
    print 
$e->getMessage();
  }
}
readData($dbh);
?>

Yukarıdaki örneğin çıktısı:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
-56
Spaceeman
2 years ago
// What I've added function :
//
function PDO_statement_bind_columns(
        $statement, &$var1,
        &$var2 = null, &$var3 = null, &$var4 = null, &$var5 = null, &$var6 = null,  &$var7 = null,
        &$var8 = null, &$var9 = null, &$var10 = null, &$var11 = null, &$var12 = null, &$var13 = null,
        &$var14 = null, &$var15 = null, &$var16 = null, &$var17 = null, &$var18 = null, &$var19 = null,
        &$var20 = null, &$var21 = null, &$var22 = null, &$var23 = null, &$var24 = null, &$var25 = null,
        &$var26 = null, &$var27 = null, &$var28 = null, &$var29 = null, &$var30 = null, &$var31 = null,
        &$var32 = null, &$var33 = null, &$var34 = null, &$var35 = null, &$var36 = null, &$var37 = null,
        &$var38 = null, &$var39 = null, &$var40 = null, &$var41 = null, &$var42 = null, &$var43 = null
    )
    {
        $numargs = func_num_args();
        for( $i = 1 ; $i < $numargs ; ++$i )
        {
            $argname = 'var'.$i;           
            if( ! $statement->bindColumn( $i, $$argname ) ) throw new \Exception("statement->bindColumn $i");
        }
    }
To Top