It's not you, in PHP 5.2.6 and close versions this has an infinite loop bug. Upgrade to the latest php where it has been fixed.
PDOStatement->debugDumpParams
(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
PDOStatement->debugDumpParams — Bir SQL hazır komutunu dökümler
Açıklama
Bir hazır deyimin içerdiği bilgiyi doğrudan çıktıya dökümler. Bu bilgi, kullanımdaki SQL sorgusu (SQL), kullanılan değiştirge sayısı (Params), isim ve tamsayı olarak türleri (paramtype) ile değiştirge listesi, değiştirgelerin isimleri veya konumları, değerleri ve sorgudaki konumlarını (PDO sürücü destekliyorsa; yoksa -1'dir) 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 değiştirgeleri dökümler. Ek değiştirgeler deyimde saklanmaz ve gösterilmez.
Dönen Değerler
Hiçbir değer dönmez.
Örnekler
Örnek 1 - İsimli değiştirgelerle PDOStatement::debugDumpParams() örneği
<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$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 değiştirgelerle PDOStatement::debugDumpParams() örneği
<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$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
Ayrıca Bakınız
- PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
- PDOStatement::bindParam() - Bir değiştirgeyi belirtilen değişkenle ilişkilendirir
- PDOStatement::bindValue() - Bir değeri bir değiştirge ile ilişkilendirir
