(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3Stmt::bindParam — Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir
$sql_değişkeni
, string|int&$php_değişkeni
, int$tür
= SQLITE3_TEXT
): boolphp_değişkeni
ile sql_değişkeni
ni ilişkilendirir.
PHP 7.2.14 ve 7.3.0 öncesinde, sql_değişkeni
nin izleyen SQLite3Stmt::execute() çağrıları ile uygun şekilde güncellenmesi gerekiyorsa ilk SQLite3Stmt::execute() çağrısından sonra SQLite3Stmt::reset() çağrılmalıdır. SQLite3Stmt::reset() çağrılmazsa, SQLite3Stmt::bindParam() yöntemine aktarılan php_değişkeni
e atanan değer değişse veya SQLite3Stmt::bindParam() yeniden çağrılsa bile sql_değişkeni
nin değeri değişmeyecektir.
sql_değişkeni
php_değişkeni
nin ilişkilendirileceği sql_değişkeni
ni tanımlayan bir dizge (isimli bağımsız değişkenler için) veya tamsayı (konumsal bağımsız değişkenler için). İki nokta üst üste (:
) imi veya @
imi ile öncelenmemiş bir isimli sql_değişkeni
iki nokta üst üste imi ile otomatik olarak öncelenir. Konumsal değişkenler 1
'den başlar.
php_değişkeni
sql_değişkeni
i ile ilişkilendirilecek değişken.
tür
İlişkilendirilecek php_değişkeni
nin veri türü
SQLITE3_INTEGER
: İşaretli tamsayı. Değerin büyüklüğüne göre 1, 2, 3, 4, 6 veya 8 bayt genişlikte olabilir.
SQLITE3_FLOAT
: Gerçek sayı. Bir 8 baytlık IEEE kayan noktalı sayı olarak saklanır.
SQLITE3_TEXT
: Bir dizge. Veritabanının karakter kodlamasıyla kodlanır (UTF-8, UTF-16BE veya UTF-16-LE).
SQLITE3_BLOB
: İkil veri. Veri girildiği haliyle saklanır.
SQLITE3_NULL
: null
değer.
PHP 7.0.7 itibariyle, tür
atlanmışsa, php_değişkeni
: bool türünden otomatik olarak saptanır. int türü SQLITE3_INTEGER
olarak, float türü SQLITE3_FLOAT
olarak, null türü SQLITE3_NULL
ve tüm diğerleriSQLITE3_TEXT
olarak ele alınır. Evvelce, tür
atlanmışsa, SQLITE3_TEXT
öntanımlıydı.
Bilginize:
php_değişkeni
içinnull
belirtilmişse, belirtilentür
e bakılmaksızın daimaSQLITE3_NULL
olarak ele alınır.
Sürüm: | Açıklama |
---|---|
7.4.0 | sql_değişkeni için artık @sql_değişkeni gösterimi de destekleniyor. |
Örnek 1 - SQLite3Stmt::bindParam() kullanımı
Bu örnekte, tek bir bağımsız değişken ile ilişkilendirilmiş tek bir hazırlanmış deyimin farklı değerlere sahip çok sayıda satırı yerleştirmek için nasıl kulllanılacağı gösterilmiştir.
<?php
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE foo (bar TEXT)");
$stmt = $db->prepare("INSERT INTO foo VALUES (:bar)");
$stmt->bindParam(':bar', $bar, SQLITE3_TEXT);
$bar = 'baz';
$stmt->execute();
$bar = 42;
$stmt->execute();
$res = $db->query("SELECT * FROM foo");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
var_dump($row);
}
?>
Yukarıdaki örneğin çıktısı:
array(1) { ["bar"]=> string(3) "baz" } array(1) { ["bar"]=> string(2) "42" }