(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)
PDOStatement::debugDumpParams — Bir SQL hazır komutunu dökümler
Bir hazır deyimin içerdiği bilgiyi doğrudan çıktıya dökümler. Bu bilgi, kullanımdaki SQL sorgusu (SQL
), anahtar adı veya konumlarıyla birlikte bağımsız değişkenlerin listesini, adlarını, sorgudaki konumlarını (PDO sürücü destekliyorsa; yoksa -1'dir) tamsayı olarak türünü (param_type
) ve is_param
mantıksal değerini içerir.
Bu işlev, veriyi doğrudan çıktıya basan bir hata ayıklama işlevidir.
Sonuçlarını doğrudan tarayıcıya çıktılayan her şey gibi, çıktı denetleme işlevleri bu işlevin de çıktısını yakalamak ve (örneğin) string türünde saklamak için kullanılabilir.
İşlev, sadece deyim içindeki bağımsız değişkenleri dökümler. Ek bağımsız değişkenler deyimde saklanmaz ve gösterilmez.
Bu işlevin bağımsız değişkeni yoktur.
Sürüm: | Açıklama |
---|---|
7.2.0 | PDOStatement::debugDumpParams() artık veritabanına gönderilen SQL deyimini eksiksiz ve ham (yer tutucuların yerine ilişkili değerler konmuş) olarak döndürüyor. Ancak, bu sadece öykünülmüş hazır deyimler etkin kılınmışsa kullanılabilir. |
Örnek 1 - İsimli bağımsız değişkenlerle PDOStatement::debugDumpParams() örneği
<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
$sth->debugDumpParams();
?>
Yukarıdaki örneğin çıktısı:
SQL: [96] SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour Params: 2 Key: Name: [9] :calories paramno=-1 name=[9] ":calories" is_param=1 param_type=1 Key: Name: [7] :colour paramno=-1 name=[7] ":colour" is_param=1 param_type=2
Örnek 2 - İsimsiz bağımsız değişkenlerle PDOStatement::debugDumpParams() örneği
<?php
$calories = 150;
$colour = 'red';
$name = 'apple';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
$sth->debugDumpParams();
?>
Yukarıdaki örneğin çıktısı:
SQL: [82] SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ? Params: 2 Key: Position #0: paramno=0 name=[0] "" is_param=1 param_type=1 Key: Position #1: paramno=1 name=[0] "" is_param=1 param_type=2